我有一个搜索框,我试图通过使用“hasdata”检查它是否为空,如果为空则返回false,否则返回true,但DataTrigger绑定不起作用。有人可以指出我正在做错的方向。
代码:
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>
答案 0 :(得分:4)
当hasdata
发生变化时,UI无法收到通知。您需要实施INotifyPropertyChanged
界面或将hasdata
设为DependencyProperty
。