Laden...

MultiBinding mit Value Conversion

Erstellt von ByteDevil vor 3 Jahren Letzter Beitrag vor 3 Jahren 1.417 Views
ByteDevil Themenstarter:in
132 Beiträge seit 2013
vor 3 Jahren
MultiBinding mit Value Conversion

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?

W
955 Beiträge seit 2010
vor 3 Jahren

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 ...

D
261 Beiträge seit 2015
vor 3 Jahren
ByteDevil Themenstarter:in
132 Beiträge seit 2013
vor 3 Jahren

@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