我有这样的代码

<Window x:Class="SolutionName.ClassName"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="300" Width="300" WindowStartupLocation="CenterOwner">
<Window.Style>
    <Style TargetType="Window">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=ItemKind}" Value="SomeKind">
                <Setter Property="Title" Value="SomeTitle"/>
            </DataTrigger>
            <DataTrigger Binding="{Binding Path=ItemKind}" Value="SomeKind2">
                <Setter Property="Title" Value="SomeTitle"/>
            </DataTrigger>

我想要的是根据在 View 模型中实现的属性 ItemKind (设置为数据上下文)来更改窗口标题。上面的代码不起作用,我真的很困惑,因为找不到任何错误。

最佳答案

代码看起来很好并且在我的最后工作。您是否在 ViewModel 类中实现了 INotifyPropertyChanged。您需要实现它,以便在您的 ViewModel 类中传播属性值的任何更改,以反射(reflect)您的 UI。

How to: Implement Property Change Notification

关于wpf - 通过 XAML 中的 Style && 触发器绑定(bind)窗口标题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9347533/

10-09 02:25