Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF申请获批';当我添加简单事件时不会执行_Wpf_Events - Fatal编程技术网

WPF申请获批';当我添加简单事件时不会执行

WPF申请获批';当我添加简单事件时不会执行,wpf,events,Wpf,Events,我有一个窗口,其中有许多控件、用户控件或从其他控件(以及网格和框架)派生的控件 如果我不向窗口中的任何控件(在XAML中)添加任何事件,它就可以正常工作。我有许多其他事件不会导致这种情况,但如果我添加一个新事件。它会崩溃的 例如: 这是我要将我的事件添加到的控件: <con:MyControl Content="Hello" Grid.Column="3" Width="90"/> 内部异常: {"Unable to cast object of type 'System.Wind

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

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

例如:

这是我要将我的事件添加到的控件:

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

{"Unable to cast object of type 'System.Windows.Controls.Button' to type 'MyNamespace.MyClass.MyControl'."}
如果我现在删除

Click="Hello_Click"

它工作得非常好

我同意阿努拉格的观点。如果在托管MyControl的客户端的其他位置有一个按钮,您可以通过将Click=“Hello\u Click”更改为button.Click=“Hello\u Click”将按钮事件附加到控件。但是,您需要在逻辑层次结构的下一层有一个按钮,以便它的事件可以由您控制。该错误表明MyControl没有对Button进行子类化。

MyControl是否正确地派生自System.Windows.Controls.Button?查看堆栈跟踪以查看谁在执行无效强制转换。很可能还有其他一些你没有想到的逻辑连接在一起。控件的XAML在这里:C#在这里:
{"Unable to cast object of type 'System.Windows.Controls.Button' to type 'MyNamespace.MyClass.MyControl'."}
Click="Hello_Click"