添加简单事件时,WPF应用程序将不会执行

时间:2009-12-05 11:12:29

标签: wpf events

我有一个窗口,其中有许多控件,UserControls或从其他控件(以及网格和框架)派生的控件。

如果我不向窗口中的任何控件添加任何事件(在XAML中),它可以正常工作。我有很多其他事件不会导致这种情况,但如果我添加一个新事件。它会崩溃。

示例:

这是我希望将我的活动添加到的控件:

<con:MyControl Content="Hello" Grid.Column="3" Width="90"/>

所以,我将其改为:

<con:MyControl Content="Hello" Grid.Column="3" Width="90" Click="Hello_Click"/>

应用程序编译......

然而,这种情况发生了:

'Set connectionId threw an exception.' Line number '53' and line position '22'.

的InnerException:

{"Unable to cast object of type 'System.Windows.Controls.Button' to type 'MyNamespace.MyClass.MyControl'."}

如果我现在删除

Click="Hello_Click"

完美无缺!

1 个答案:

答案 0 :(得分:1)

我同意Anurag。如果您的客户端上有一个托管MyControl的按钮,您可以通过将Click =“Hello_Click”更改为Button.Click =“Hello_Click”来将按钮事件附加到您的控件。但是你需要在逻辑层面下方有一个按钮,这样它的事件可能会冒泡到你的控制之下。该错误表明MyControl不是Button的子类。