我创建了这个类,我希望覆盖内容控件的这个特定事件。
public class MyContentControl : ContentControl
{
protected override void OnKeyUp(KeyEventArgs e)
{
//do something
//..........
e.Handled = true;
}
}
然而,当我在我的XAML中使用此控件时,一切都编译并正常工作,但我得到一个运行时异常,我不确定为什么?有人能指出我正确的方向......
我得到的例外是
XamlParseException
更新(显示例外情况)
在XAML中我有:
xmlns:ctrls="clr-namespace:SilverlightProject.CustomControls"
我用它像:
<ctrls:MyContentControl Grid.Column="0" x:Name="_contentControl" VerticalAlignment="Center" HorizontalAlignment="Center" />
答案 0 :(得分:0)
内容控件需要在某处创建默认模板(例如,在generic.xaml中)。它们没有匹配的XAML文件,如用户控件。
如果您可以提供更多信息,我可以向您展示如何创建适当的模板。
答案 1 :(得分:0)
这有很多原因。
首先。提供完全限定的命名空间。
而不是
xmlns:ctrls="clr-namespace:SilverlightProject.CustomControls"
使用
xmlns:ctrls="clr-namespace:SilverlightProject.CustomControls;assembly=YourAssebmlyName"
如果那样,没有用。
您可以直接将控件附加到应用程序。然后,启用Debug - &gt;例外。选中CLR execetion Thrown
选项复选框。你有相当多的可能性来了解原因。