我有一个窗口,其中有许多控件,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"
完美无缺!
答案 0 :(得分:1)
我同意Anurag。如果您的客户端上有一个托管MyControl的按钮,您可以通过将Click =“Hello_Click”更改为Button.Click =“Hello_Click”来将按钮事件附加到您的控件。但是你需要在逻辑层面下方有一个按钮,这样它的事件可能会冒泡到你的控制之下。该错误表明MyControl不是Button的子类。