[英]wpf hide an element based on children count of another element in xaml
使用純XAML ,如果list
或stackpanel
具有元素,我想隱藏一個元素,例如textblock
或image
。
例如,請參見以下代碼
<Label x:Name="LabelTobeHidden"
Content="No one has joined"
Visibility="Visible"
/>
<StackPanel x:Name="Players" Orientation="Vertical"/>
我可以通過CS來做到這一點,但是我想知道一種僅在XAML中做到這一點的方法,以盡最大努力確保CS僅具有應用程序邏輯。
編輯 :
我正在以編程方式將元素添加到堆棧面板。
您可以DataTrigger
使用Style
的DataTrigger
。
這是我們要注意的StackPanel
:
<StackPanel x:Name="StackPanelToWatch" Orientation="Horizontal">
<Rectangle Width="50" Height="50" Fill="Red"/>
</StackPanel>
這是要隱藏的Label
:
<Label Content="text">
<Label.Style>
<Style TargetType="Label">
<Style.Triggers>
<DataTrigger Binding="{Binding Children.Count, ElementName=StackPanelToWatch}" Value="0">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.