簡體   English   中英

wpf根據xaml中另一個元素的子元素計數隱藏元素

[英]wpf hide an element based on children count of another element in xaml

使用純XAML ,如果liststackpanel具有元素,我想隱藏一個元素,例如textblockimage

例如,請參見以下代碼

<Label x:Name="LabelTobeHidden" 
       Content="No one has joined" 
       Visibility="Visible"
       />
<StackPanel x:Name="Players" Orientation="Vertical"/>

我可以通過CS來做到這一點,但是我想知道一種僅在XAML中做到這一點的方法,以盡最大努力確保CS僅具有應用程序邏輯。

編輯

我正在以編程方式將元素添加到堆棧面板。

您可以DataTrigger使用StyleDataTrigger

這是我們要注意的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM