WPF DataTrigger - Einstellung IsSelected ListBoxItem

Habe ich die folgenden Daten-trigger auf die ListBoxItems in meinem Multi-Auswahl-Listenfeld

<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 festgelegt wird, eine Ordnung, aber IsSelected nicht festgelegt. Wie kann ich das beheben?

Ich versucht, aus IsEnabled zu sehen war, wenn es in Konflikt mit IsSelected, aber der Artikel blieb dann ausgewählt, wenn es nicht sein sollte.

Nur zu wiederholen, ich kann Ihnen sagen, die Bindungen und die Konverter funktionieren, weil IsEnabled richtig funktioniert. Aber aus irgendeinem Grund IsSelected nicht un-stellen.


Edit: gerade fiel mir ein, dass ich möglicherweise nicht funktionieren soll, wie IsEnabled. Denn wenn diese trigger falsch, der Eintrag wird wieder aktiviert. Ich würde nicht wollen, dass ein zuvor nicht ausgewählte Zeile in die Auswahl zu schaffen, nur weil dieser trigger ist nicht mehr wahr.

Irgendwelche Ideen? Grundsätzlich habe ich nicht wollen, dass jeder Behinderte Zeilen ausgewählt werden.


Edit 2:

Ich habe versucht, das hinzufügen einer normalen trigger in der Hoffnung, es würde die Kette wieder ab, die Daten, trigger und das hat nicht funktioniert entweder.

<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>
Reproduzieren Sie Ihr problem, ich habe festgestellt, dass wenn ich die ListBoxItem IsSelected=True in einem auslösen, dann kann ich es für Falsch, in einen trigger als gut. Sobald der Benutzer das Element auswählt, obwohl der Auslöser nicht mehr ändern IsSelected.
Hmmm, das ist interessant. Verheißt nichts gutes für mich einen Weg zu finden, um die Auswahl zu entfernen. Dank für das schauen hinein.

InformationsquelleAutor Vaccano | 2009-12-11

Schreibe einen Kommentar