콤보 상자가있는 xaml이 있습니다. 나는 그 (것)들을 선택할 수없는 어떤 이유로 저 품목이있다 나가 품목을 선택할 때 보통 나의 선택을 바꾸게하지 않는다, 그리고 그것이 특정 가치를 위해 단지 인 경우에. 다음은 코드입니다 :ComboBox - 선택을 변경할 수 없거나 선택할 수 없습니다.
<ComboBox SelectedItem="{Binding CurrentUsers}">
< ComboBox.ItemsSource>
<MultiBinding Converter="{StaticResource DictionaryKeyToValueConverter"} Mode="OneWay">
< Binding Path="AllUsersByDepartment"/>
< Binding Path = " Department"/ >
</MultiBinding>
</ComboBox.ItemsSource>
< ComboBox.ItemContainerStyle>
<Style TargetType = " { x : Type ComboBoxItem}">
< Setter Property = " IsEnabled">
< Setter.Value>
<MultiBinding Converter = "{StaticResource DictionaryKeyToValueConverter}" Mode="OneWay "/>
<Binding Path = " DataContext.UserToAvailabilityDictionary" RelativeSource ="{RelativeSource Mode=FindAncestor, AncestorType = { x : Type ComboBox}}"/>
< Binding Path = ". "/>
</MultiBinding >
</Setter.Value>
</Setter>
<Style.Triggers>
< Trigger Property="IsEnabled " Value = " False " >
<Setter Property = " Template">
<Setter.Value>
< ControlTemplate>
< TextBlock Text="{Binding Path=Description}" Foreground="Red"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers
</Style >
</ComboBox.ItemContainerStyle >
< ComboBox.ItemTemplate>
< DataTemplate>
< ComboBoxItem Content="{Binding Path=Description}"/>
</DataTemplate >
</ComboBox.ItemTemplate >
</ComboBox>
나는 내 휴대 전화로 컴퓨터에서 복사 한 이후로 내가 쓴 것이 분명하다 바랍니다. 기본적으로 모든 사용자가 있고 부서별로 나눕니다. 사용자는 부서에서 하나만 볼 수 있으며 바인드 된 사전에서 사용할 수있는 항목을 선택할 수 있습니다. 사용할 수없는 경우 ComboBox의 항목은 빨간색 및 uunelectable입니다. 이 작동합니다. 유일하지 않은 것은 일부 항목의 선택을 변경하는 것이며 일부 항목은 (빨간색으로 표시되지 않아야하고 시작해야 함) 선택할 수 없습니다. 내가 그 문제를 읽을 수 있기 때문에 항상 Equals 메서드에서 false를 반환하도록 사용자의 개체를 변경했지만 도움이되지 않았습니다. 미리 감사드립니다.
업데이트 : ComboBox 항목 및 템플릿의 스타일을 제거 했으므로 선택할 수 있습니다. 하지만 실제로 트리거와 스타일이 필요합니다.
죄송합니다 코드를 편집하여 코드로 표시하려고합니다. – user3260639