c# - WPF DataTrigger 绑定(bind)不起作用

标签 c# wpf wpf-controls

我有一个搜索框,我试图通过使用“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/

相关文章:

c# - 如何在 iTextSharp 中获取 pdf 的总页数?

wpf - 在WPF中动态添加网格和控件

wpf - DataGridTextColumn 标题数据模板

wpf - UWP XAML 如何在绑定(bind)的 ListView 中包装文本

c# - 将填充添加到单元格时,DataGrid 行选择不起作用

c# - WPF 单选按钮点击区域

c# - 如何在代码中定义 WPF GridView 列的 "Auto"宽度?

c# - WaitForExit 实际上是在等待外部程序完成吗?

c# - 无法将 TwoWay 模式设置为 x :Bind

c# - 为什么 ReactiveUI 依赖旧版本的 System.Reactive?