【发布时间】:2011-12-23 14:23:06
【问题描述】:
在此示例中我有两个控件,但在实际应用程序中,我有更多控件,具体取决于网格一中标签的属性内容的值(例如),其他一些标签、文本框、文本块和按钮将是在网格 2 中可见或折叠(例如)。
但为了简化我的问题,我将有一个简化的示例...
<Grid Name="gridOne">
<Label Content="{Binding Collection.Name}" Name="lblCaption"/>
</Grid>
<Grid Name="gridTwo">
<Label Content="My Label" Visibility="Collapsed">
<Label.Style>
<Style TargetType="Label">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=lblCaption, Path=Content}" Value="Employers">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<TextBox Text="{Binding EmployerName}" Visibility="Collapsed">
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=lblCaption, Path=Content}" Value="Employers">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
我知道如果我将属性 Visibility 设置为 Collapsed 以控制默认值,这也不起作用,但我有很多集合,我不认为每个集合都有一个 DataTrigger 是实现它的好方法。无论如何,当在不同的网格中绑定控件和其他以一种好的方式处理属性 Visibility 时,就会出现一个问题。
提前致谢!
【问题讨论】:
标签: wpf xaml data-binding binding wpf-controls