2010-05-03 7 views
3

내 C#에 속성이있는 경우;XAML ComboBox 속성에 바인딩

public CollectionView Months 
    { 
     get 
     { 
      CollectionView retList = new Enumerations.Months().ToCollectionView<Enumerations.Months>(); 
      return retList; 
     } 
    } 

그리고 ComboBox가 있습니다.

<ComboBox x:Name="ddlMonth" Grid.Row="3" Grid.Column="1" 
ItemsSource="{Binding Source={StaticResource Months}}"/> 

내 ComboBox를 내 속성에 바인딩하려면 어떻게해야합니까?

나는 완전한 xaml 초보자 다.

답변

2

처음에는 그 방법이 아닙니다. 속성입니다.

당신이해야 할 모든

은 이것이다 : 트릭은 재산 Months이 콤보의 DataContext 또는 (페이지 포함)의 부모 중 하나로 설정에 나타납니다 어떤 수준을 확인하는 것입니다
<ComboBox x:Name="ddlMonth" Grid.Row="3" Grid.Column="1" ItemsSource="{Binding Months}"/> 

.

그래서 Months 속성은 콤보를 호스팅하는 동일한 페이지에 나타나는 경우, 다음 생성자 코드 줄을 추가하거나 페이지의 Loaded 이벤트

:

this.DataContext = this; 

Months 속성이 나타나는 경우 ViewModel (내가 그랬 으면 좋겠다!) 그럼 당신은 페이지의 DataContext (또는 여전히 ComboBox의 부모 (조상) 인 보조 컨트롤)에 ViewModel을 할당해야합니다.

+0

+1, 죄송합니다. 방법이 아닙니다. 속성. 편집 된 질문입니다. 감사. – griegs