【发布时间】:2011-01-30 21:24:04
【问题描述】:
我正在尝试在我的 WPF 应用程序中做一件相当简单的事情,或者至少我认为它很简单。
我有一个窗口,它在后面的代码中包含一个 int 属性。我们称其为 IntProperty。 Window 实现 INotifyPropertyChanged 接口,IntProperty 触发更改通知。它看起来像这样:
public int IntProperty
{
get
{
return intProperty;
}
private set
{
if (value != intProperty)
{
intProperty = value;
NotifyPropertyChanged("IntProperty");
}
}
}
在 xaml 文件中,我定义了一个 Rectangle,并在 Fill 属性中设置了特定的颜色。
<Rectangle x:Name="MyRectangle" Fill="Red" Width="100" Height="5" Margin="3,0,0,0" VerticalAlignment="Center" />
我现在要做的是根据 IntProperty 的值来设置 Fill 属性。 我正在寻找一些触发此更改的简单 xaml 行。
应该是这样的(AppWindow是Window的名字):
<Rectangle x:Name="MyRectangle" Fill="Red" Width="100" Height="5" Margin="3,0,0,0" VerticalAlignment="Center">
<Rectangle.Triggers>
<Trigger SourceName="AppWindow" Property="IntProperty" Value="1">
<Setter TargetName="MyRectangle" Property="Fill" Value="Green" />
</Trigger>
</Rectangle.Triggers>
有什么简单的方法可以做到这一点吗?到目前为止,我找不到任何简单的解决方案。如果有人能指出正确的方向,我将不胜感激。
谢谢!
【问题讨论】:
标签: wpf xaml properties triggers