我有一个搜索框,我试图通过使用“hasdata”来检查它是否为空,如果为空则返回 false,否则返回 true,但 DataTrigger 绑定(bind)不起作用。有人能指出我做错事的正确方向吗?
代码:
public bool hasdata
{
get { if (searchBox.Text.Count() == 0) return false; else return true; }
}
xaml:
<telerik:RadWatermarkTextBox x:Name="searchBox"/>
<Image Source="SomeImage.png" >
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=hasdata}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=hasdata}" Value="False">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
最佳答案
当 hasdata
改变时,UI 目前无法得到通知。您需要实现 INotifyPropertyChanged
接口(interface)或使 hasdata
成为 DependencyProperty
。
关于c# - WPF DataTrigger 绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17598720/