Domanda

Di seguito è riportata una bella opera d'arte che rappresenta un modulo WPF con una casella di riepilogo a sinistra e un controllo del contenuto a destra. Vorrei impostarlo in modo che se la casella di riepilogo è vuota, il controllo del contenuto è invisibile. A quale proprietà / evento devo agganciare?

----- -----
| a | | c |
| b | |   |
----- -----
È stato utile?

Soluzione

È necessario creare uno stile per ContentControl e utilizzare un trigger per determinare quando l'elenco contiene 0 elementi, in questo modo:

<ListBox x:Name="uiList">...</ListBox>
<ContentControl>
        <ContentControl.Content>
            <TextBox Text="List has items." />
        </ContentControl.Content>
        <ContentControl.Style>
            <Style TargetType="{x:Type ContentControl}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ElementName=uiList, Path=Items.Count}"
                                 Value="0">
                        <Setter Property="Visibility"
                                Value="Collapsed" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ContentControl.Style>
    </ContentControl>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top