Supposons que je souhaite afficher/masquer des éléments basés sur les valeurs de propriétés de DataContext, comment puis-je l'obtenir?Déclencheurs basés sur des propriétés de DataContext
// In MainWindow.xaml.cs: DataContext of MainWindow.xaml
public int Mode { get; set; }
En XAML, je veux montrer des éléments masquer en fonction de la Mode
. Comment puis-je faire le travail ci-dessous? Ou quelle est la manière appropriée de mettre en œuvre ceci?
<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>
Actuellement, l'erreur que je reçois est "propriété 'Mode' n'a pas été trouvé dans le type 'StackPanel' D:. \ Tmp \ WpfApplication1 \ TriggersAndProperties \ MainWindow.xaml"
Erreur de compilation obtenue MC4011: La propriété TargetName ne peut pas être définie sur un sélecteur de style – Lu55
Votre exemple ne fonctionne pas. "Le nom 'txt1' n'est pas reconnu. – FINDarkside