내 다중 선택 목록 상자WPF DataTrigger - ListBoxItem의에 isSelected
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource DisableWorkItemConverter}">
<Binding ElementName="MainForm" Path="PickedWorkItemID"/>
<Binding Path="Id"/>
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="IsEnabled" Value="False"/>
<Setter Property="IsSelected" Value="False"/>
</DataTrigger>
의 IsEnabled 잘 설정됩니다에서 ListBoxItems에 다음과 같은 데이터 트리거를 가지고 있지만,에 isSelected가 설정되지 않는 설정. 어떻게 해결할 수 있습니까?
IsEnabled를 사용하여 IsSelected와 충돌했는지 확인하려고했으나 항목을 선택하지 않아도됩니다.
다시 말하면, IsEnabled가 올바르게 작동하기 때문에 바인딩과 변환기가 올바르게 작동하고 있음을 알 수 있습니다. 그러나 어떤 이유로 IsSelected는 설정 해제되지 않습니다.
편집 : IsEnabled처럼 작동하지 않기를 바랍니다. 이 트리거가 false를 평가하면 항목이 다시 활성화되므로 이전에 선택하지 않은 행을 선택하지 않으려는 이유는이 트리거가 더 이상 사실이 아니기 때문입니다.
아이디어가 있으십니까? 기본적으로 사용할 수없는 행을 선택하지 않으려합니다.
편집 2 :
나는 그것이 체인 데이터 트리거를 켜거나 끌 수 있으며, 그 중 하나가 작동하지 않았다 것이라고 기대하고 정상적인 트리거를 추가하는 시도.
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource DisableWorkItemConverter}">
<Binding ElementName="MainForm" Path="PickedWorkItemID"/>
<Binding Path="Id"/>
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="IsSelected" Value="False"></Setter>
</Trigger>
</Style.Triggers>
문제를 재현 할 때 트리거에서 ListBoxItem IsSelected = True를 설정하면 트리거에서도 False로 설정할 수 있음을 발견했습니다. 사용자가 항목을 선택하면 트리거가 더 이상 IsSelected를 변경하지 않습니다. –
흠, 재미 있습니다. 선택을 제거 할 수있는 방법을 찾아 내게 좋은 징조로 보이지 않습니다. 그것을 들여다 주셔서 감사합니다. – Vaccano