Hi,
ich habe gerade mal wieder eine solche Situation:
<ListBox Grid.Column="2" Grid.Row="1" Margin="0,3,0,0">
<ListBox.Visibility>
<MultiBinding Converter="{StaticResource BoolTrueForAllToBoolMultiValueConverter}">
<Binding Path="PasteSweepPaths"/>
<Binding Path="ChosenDrawing" Converter="{StaticResource NotNullToBoolConverter}"/>
<Binding Path="ChosenDrawing.HasSimulationSweepPaths"/>
</MultiBinding>
</ListBox.Visibility>
</ListBox>
Wird so natürlich nicht funktionieren, da ich aus dem bool eine Visibility machen muss. Nur wie könnte ich das an dieser Stelle tun? Bei einem einfachen Binding würde ich einen ValueConverter nehmen, der mir aus einem False ein Visibility.Hidde bzw. Collapsed machen würde. Ich kann ja leider keine MultiBindings verschachteln...
Wie kann ich nur mit XAML die Listbox auf Visibility.Visible setzen, wenn in meinem ViewModel PasteSweepPaths == true, ChosenDrawing != null und ChosenDrawing.HasSimulationSweepPaths == true ist und sonst auf Collapsed?
Wenn du MVVM verwendest, also ein ViewModel dahinter gebunden ist kannst du doch ein weiteres Property basteln was die drei Properties vereint und das kannste doch dann an die Visibility binden ...
Funktioniert das folgende?
xaml - WPF Visiblity Binding to Boolean Expression with multiple Variables - Stack Overflow
@witte ja schon, allerdings würde ich ungern nur wegen dieser einen Stelle eine neue Property machen, die ich sonst nirgends bräuchte. Das summiert sich halt von Fall zu Fall.
@dannoe Perfekt! An einen MultiDataTrigger in einem Style hab ich nicht gedacht. Das klappt! Danke