2
我想在我的WPF應用程序中做一件相當簡單的事情,或者至少我覺得這很簡單。如何在觸發器中使用代碼隱藏屬性來更改控件屬性?
我有一個窗口,在後面的代碼中包含一個int屬性。我們稱之爲IntProperty。該窗口實現INotifyPropertyChanged接口,並且IntProperty觸發更改通知。它看起來像這樣:
public int IntProperty
{
get
{
return intProperty;
}
private set
{
if (value != intProperty)
{
intProperty = value;
NotifyPropertyChanged("IntProperty");
}
}
}
在我已經定義與代表特定的顏色填充屬性設置矩形的XAML文件。
<Rectangle x:Name="MyRectangle" Fill="Red" Width="100" Height="5" Margin="3,0,0,0" VerticalAlignment="Center" />
我現在想要做的是設置填充屬性取決於IntProperty的值。 我正在尋找一些觸發此更改的簡單XAML行。
它應該像這樣(APPWINDOW是窗口的名稱):
<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>
有沒有簡單的方法來做到這一點?到目前爲止,我找不到任何簡單的解決方案。如果有人能指出我正確的方向,我將不勝感激。
謝謝!
謝謝,那正是我所需要的。 我不得不添加Style和Style.Triggers,並從Rectangle標籤中刪除Fill,並將其放置在Style標籤的Setter中,但之後它就起作用了 – 2010-03-23 20:35:35