我有这样的代码
<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/