2017-11-18 2 views
0

나는이 같은 콤보를했습니다 :itemsource 외부의 바인딩 스타일 속성?

<ComboBox x:Name="CountryMenuComboBox" 
     ItemsSource="{Binding Countries}"> 

     <ComboBox.ItemContainerStyle> 
      <Style> 
       <Setter Property="IsEnabled" Value="{Binding IsRemoving}" /> 
      </Style> 
     </ComboBox.ItemContainerStyle> 

제가 재산 IsRemoving를 사용하여 콤보 상자 내부의 항목을 사용하거나 사용하지 않도록 설정하기 만하지만,이 속성은 itemsource Countries 내부에 위치하지 않은, 그래서 itemsource 외부에 액세스해야합니다. 스타일에 어떻게 이것을 할 수 있습니까?

+0

* 위치 *가 * 어디에 있는지 알 수없는 경우 질문에 답변 할 수 없습니다. 'Countries' 속성을 소유 한 상위 뷰 모델에 있습니까? 그렇다면'IsEnabled = "{바인딩 DataContext.IsRemoving, RelativeSource = {RelativeSource AncestorType = ComboBox}}"' –

+0

@EdPlunkett 예 죄송합니다, 나라 속성은 동일한 viewmodel에 위치하고 있습니다 – pivutali

답변

1

IsRemovingCountries 속성을 소유 한 상위보기 모델의 속성입니까? 그렇다면 시도해보십시오 <Setter Property=“IsEnabled” Value=“{Binding DataContext.IsRemoving, RelativeSource={RelativeSource AncestorType=ComboBox}}” />

+0

물건을 이해하지 못합니다 : IsEnabled 세터에 있어야합니까? 또는 어디에? – pivutali

+0

지금 같은 장소. RelativeSource 부분 만 추가하면됩니다. –

+0

그래서 뭔가 : pivutali