Tout ce que je voulais, c'était des liaisons différentes sur des onglets différents, donc les onglets de commutation bascule la disponibilité de la commande. Je pensais que CommandBindings fonctionnait de cette façon.WPF CommandBinding PAS sur l'élément de niveau supérieur/Window/this
Mais j'ai passé la dernière fois en essayant de faire fonctionner cet exemple simple. Soit je me méprends fondamentalement (et ce ne serait pas une première) ou quelque chose ne va pas.
J'ajoute un CommandBinding à textBoxA mais pas à textBoxB. Les déplacer entre eux devrait activer et désactiver le bouton qui est défini sur la commande correspondante. L'ajout de CommandBinding à la fenêtre active le bouton, mais ce type de bouton tue tout le point de l'objet CommandBindings spécifique aux éléments.
En utilisant cette XAML
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="500">
<Canvas>
<Button Canvas.Left="31" Canvas.Top="24" Content="Click Me" Name="button1" Width="100"/>
<TextBox Canvas.Left="155" Canvas.Top="22" Height="23" Name="textBoxA" Width="120" Text="A" />
<TextBox Canvas.Left="298" Canvas.Top="22" Height="23" Name="textBoxB" Width="120" Text="B" />
</Canvas>
</Window>
En utilisant ce code derrière
public MainWindow()
{
InitializeComponent();
button1.Command = ApplicationCommands.Open;
var _Binding = new CommandBinding(button1.Command);
textBoxA.CommandBindings.Add(_Binding);
textBoxB.CommandBindings.Clear(); // nothing bound
_Binding.CanExecute += (s, e) =>
{
e.CanExecute = true;
};
_Binding.Executed += (s, e) =>
{
MessageBox.Show("Hello");
};
}
Vous verrez (si vous essayez ce code) que le bouton reste désactivé, même lorsque vous passez d'une zone de texte à L'autre. (Même si textBoxA doit activer le bouton car il implémente le CommandBinding du bouton).
Comment cela est-il supposé fonctionner?
Merci d'avance.
J'ai essayé de poser cette question: http://stackoverflow.com/questions/3339257/wpf-routed-command-with-bindings -per-tab –