Ich habe ein Control mit n+1 Checkboxen. Eine Checkbox hat die Funktion "Keine Auswahl", die anderen n sind die "Auswahlmöglichkeiten". Die n Checkboxen für die "Auswahlmöglichkeiten" sind gebunden (etwas Background-Info: gebunden an Flags diverser Flag-Enums, dieser Part funktioniert bereits einwandfrei). Die Checkbox "Keine Auswahl" ist nicht gebunden. Ich möchte folgendes haben: Wenn eine oder mehrere IsChecked der n Auswahlmöglichkeit-Checkboxen auf true sind, dann soll sich die IsChecked der "Keine Auswahl" Checkbox automatisch auf false setzen, aber wenn keine der anderen Checkboxen IsChecked=true sind, dann soll sie sich automatisch auf true setzen.
das probiere ich:
<CheckBox Grid.Column="0" Grid.Row="1" Name="cbNothingSelected" IsChecked="False" Content="Keine Auswahl" Margin="0,0,5,0" VerticalAlignment="Center">
<CheckBox.Style>
<Style TargetType="CheckBox">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=cbAuswahl1, Path=IsChecked}" Value="False" />
<Condition Binding="{Binding ElementName=cbAuswahl2, Path=IsChecked}" Value="False" />
<Condition Binding="{Binding ElementName=cbAuswahl3, Path=IsChecked}" Value="False" />
</MultiDataTrigger.Conditions>
<Setter Property="IsChecked" Value="True"></Setter>
</MultiDataTrigger>
<DataTrigger Binding="{Binding ElementName=cbAuswahl1, Path=IsChecked}" Value="True">
<Setter Property="IsChecked" Value="False"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=cbAuswahl2, Path=IsChecked}" Value="True">
<Setter Property="IsChecked" Value="False"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=cbAuswahl3, Path=IsChecked}" Value="True">
<Setter Property="IsChecked" Value="False"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</CheckBox.Style>
</CheckBox>
<CheckBox Grid.Column="0" Grid.Row="2" Name="cbAuswahl1"...
Also der MultiTrigger soll prüfen ob die Auswahl-Checkboxen alle IsChecked=false haben und falls ja das eigene IsChecked auf true setzen.Unten sind drei DataTrigger, diese sollen das IsChecked der Checkbox auf false setzen, wenn eine der Checkboxen IsChecked=true haben. 3 DataTrigger da ich damit die OR Beziehung abbilden will, der Multitrigger verknüpft die Conditions ja mit AND.
Es passiert: nichts. Ich kann wild auf den Checkboxen rumklicken, die "Keine Auswahl" Checkbox wird nie automatisch gesetzt/rückgesetzt so wie ich es erwarten würde.
Es werden keine Warnungs oder Fehlermeldungen ausgegeben. Compiliert fehlerfrei, es fliegen keine Exceptions. Die Trigger scheinen einfach nur ignoriert zu werden.
Sieht hier jemand spontan das Problem? Habe bisher noch nicht viel mit Triggern gearbeitet, wenn dann war es nur sowas wie Schriftart fett wenn selektiert oder so (hat bisher immer funktioniert)...
gruß & danke
sth_Weird