Jos*_*lin 5 wpf binding triggers datatrigger mvvm
我想在屏幕上显示一个数字.如果该数字为0,我根本不希望它显示.
<TextBlock Text="{Binding Path=Class.Count}" FontSize="20" FontWeight="Bold">
<TextBlock.Triggers>
<DataTrigger Binding="{Binding Path=Class.Count}" Value="0">
<Setter Property="TextBlock.Text" Value=""/>
</DataTrigger>
</TextBlock.Triggers>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
在常规触发器无法解决我的问题后,我尝试了上面的代码.我不想写一个转换器来处理一个特定的数字.有没有办法创建一个触发器,如果它是0,将隐藏数字?
编辑:当我尝试使用常规触发器或数据触发器时,我得到一个xaml解析错误,告诉我需要使用事件触发器.
我试图将setter中的值设置为一个数字,以确保具有空值不会导致问题
您正在使用绑定来设置Text属性.
我将控件折叠/隐藏,而不是将文本设置为String.Empty.
减少混乱.
编辑
<TextBox>
<TextBox.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Name.Length}" Value="0">
<Setter Property="UIElement.Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
要么
<TextBox>
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Name.Length}" Value="0">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6933 次 |
| 最近记录: |