Как использовать DataTrigger для установки свойства, определенного в ViewModel в WPF

Я пишу файл XAML, в котором DataTrigger используется для установки свойства в ViewModel. Класс 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" />

, это дает мне ошибку:

Поле свойства зависимости отсутствует ....

Как мне написать это, чтобы DataTrigger мог установить свойство ForegroundBrush в ViewModel?

9
задан Sinatr 17 March 2016 в 23:05
поделиться