Триггеры на основе свойств из DataContext

Предположим, я хочу показать / скрыть элементы на основе значений свойств из DataContext, как я могу этого добиться?

// In MainWindow.xaml.cs: DataContext of MainWindow.xaml
public int Mode { get; set; } 

В XAML я хочу отображать скрытые элементы на основе режима . Как я могу заставить работать следующее? Или как это реализовать?

<StackPanel>
    <StackPanel.Triggers>
        <Trigger Property="Mode" Value="1">
            <Setter TargetName="txt1" Property="Visibility" Value="Visible" />
            <Setter TargetName="txt2" Property="Visibility" Value="Collapsed" />
            <Setter TargetName="txt3" Property="Visibility" Value="Visible" />
        </Trigger>
        <Trigger Property="Mode" Value="2">
            <Setter TargetName="txt1" Property="Visibility" Value="Collapsed" />
            <Setter TargetName="txt2" Property="Visibility" Value="Visible" />
            <Setter TargetName="txt3" Property="Visibility" Value="Collapsed" />
        </Trigger>
    </StackPanel.Triggers>
    <TextBlock Text="TextBlock 1" x:Name="txt1" />
    <TextBlock Text="TextBlock 2" x:Name="txt2" />
    <TextBlock Text="TextBlock 3" x:Name="txt3" />
</StackPanel>

В настоящее время я получаю сообщение об ошибке: « Свойство 'Mode' не найдено в типе 'StackPanel'. D: \ tmp \ WpfApplication1 \ TriggersAndProperties \ MainWindow.xaml "

10
задан Jiew Meng 28 November 2010 в 08:35
поделиться