8
我在寫一個使用DataTrigger在ViewModel中設置屬性的XAML文件。該視圖模型類定義爲:如何使用DataTrigger設置WPF中的ViewModel中定義的屬性
public class ShellModel : INotifyPropertyChanged
{
public Brush ForegroundBrush
{
get; set;
}
....................
}
我想使用DataTrigger在View.xaml設置屬性ForegroundBrush。我寫的XAML是:
<StatusBar Name="statusBar" Grid.Row="3">
<StatusBarItem>
<StatusBarItem.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding HasError}" Value="True">
<Setter Property="ForegroundBrush" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding HasError}" Value="False">
<Setter Property="ForegroundBrush" Value="Black" />
</DataTrigger>
</Style.Triggers>
</Style>
</StatusBarItem.Style>
<TextBlock Name="statusBarMessage" Foreground="{Binding ForegroundBrush}" Text="{Binding StatusMessage}"></TextBlock>
</StatusBarItem>
........................
這不能編譯。當我改變了
<Setter Property="ForegroundBrush" Value="Black" />
到
<Setter Property="ShellModel.ForegroundBrush" Value="Black" />
它給我的錯誤:
Dependency property field missing ....
我怎麼寫這篇文章,以使DataTrigger可以設置視圖模型的財產ForegroundBrush?