WPF utiliser la method RaiseEvent d'un bouton pour executer une Command
Bonjour,
pour bien cerner ma demande voici un exemple concret. Une application WPF dans laquelle il y a 3 boutons. 1 avec un evenement Click, 1 avec une Command, et enfin 1 qui peut exécuter l'action Click du 1er bouton.
Voici la partie xaml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <StackPanel>
<Button x:Name="ButtonClickEvent"
Content="Excute method on click"
Margin="10" Width="200"
Click="ButtonClickEvent_Click"/>
<Button x:Name="ButtonExecuteCommand"
Content="Excute Command"
Command="{Binding ExecuteCmd}"
Margin="10" Width="200"/>
<Button x:Name="ButtonRaiseEvent"
Margin="10" Width="200"
Content="RaiseEvent on click"
Click="ButtonRaiseEvent_Click"/>
</StackPanel> |
et la partie C# :
Code:
1 2 3 4 5 6 7 8 9
| private void ButtonClickEvent_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Method : ButtonClickEvent_Click, executée");
}
private void ButtonRaiseEvent_Click(object sender, RoutedEventArgs e)
{
ButtonClickEvent.RaiseEvent(new RoutedEventArgs(System.Windows.Controls.Primitives.ButtonBase.ClickEvent));
} |
Jusque la tout est OK. Maintenant je souhaiterais executer la command du bouton 2 avec le bouton 3 , mais bien sur si j'écris :
Code:
1 2 3 4
| private void ButtonRaiseEvent_Click(object sender, RoutedEventArgs e)
{
ButtonExecuteCommand.RaiseEvent(new RoutedEventArgs(System.Windows.Controls.Primitives.ButtonBase.ClickEvent));
} |
rien ne se passe et la command n'est pas exécutée. Quelqu'un aurait-il une idée ??