WPF按钮 - 如何绑定"点击"归属于某个函数?

时间:2015-12-27 15:42:00

标签: c# wpf xaml

我试图用"点击" Button的属性,

点击属性,而不是命令。谢谢。

这是我试图做的事情:

Xaml代码行:

<Button Background="{Binding Path=motionColor}" Click="{Binding MotionButton_Click}" />

c#相关代码:(在绑定对象内,而不是窗口类)

public void MotionButton_Click(object Sender, RoutedEventArgs e)
{
        SendPacket(cockpitType, (byte)Index.Motion, MotionValue);
        setMotion(3);       
}

一些注意事项:

  • 背景绑定工作正常。
  • 我试过这样做&#34; Path = MotionButton_Click&#34;,也没有工作。
  • 这是我得到的错误:

  

错误1点击=&#34; {Binding MotionButton_Click}&#34;无效。 &#39; {结合   MotionButton_Click}&#39;不是有效的事件处理程序方法名称。只要   生成的或代码隐藏类上的实例方法是有效的。线   50位置94. c:\ users \ dp27317 \ documents \ visual studio   2010 \ Projects \ GenericSoundMotion \ GenericSoundMotion \ MainWindow.xaml 50 94 GenericSoundMotion

  • 不确定是否重要,但绑定的集合是&#34; ObservableCollection&#34; &#34;公共类GenericPanel&#34;。

我想要的是当我按下那个按钮时,&#34; MotionButton_Click&#34;功能会运行。能使它发挥作用的一切都是祝福,甚至是肮脏的解决方案。

谢谢。

1 个答案:

答案 0 :(得分:2)

在WPF按钮上,Click是一个事件,因此您无法绑定任何内容。您可以查看命令(因为绑定到按钮的Command属性将具有与指定Click事件处理程序相同的效果:单击按钮时调用的方法),或移动窗口类的事件处理程序,并从那里调用绑定类中的方法,例如通过引用窗口的DataContext