我正在尝试构建一个自定义控件,我想将其作为我的xaml的根元素存在。
我目前有
但是,如果我运行它,内容就会消失。如果我将控件添加到usercontrol,它就会停留,但我不希望这种情况发生。然后我将无法调用基本方法,因为UserControl从Control继承并且g.cs将始终抱怨。
我需要代码隐藏中的类来实现一个可以重载save方法的实现。所以代码隐藏来自我写的一个类。
实际上,我只是想说New Dave Control,转到后面的代码并写一个方法,'public override save'
这可能吗?
答案 0 :(得分:0)
好的,当你尝试这样做时,有很多小问题要处理。
如果您不想在混合中遇到竞争条件和对象未找到错误,请更改模板应用的顺序。
在自定义类的构造函数中,调用
this.ApplyTemplate();
阅读这篇伟大的见解,了解原因:
http://pagebrooks.com/archive/2008/11/30/tweaking-onapplytemplate-event-timing-in-silverlight-2.aspx
然后,确保您的新控件上有x:Class属性。这意味着您将获得从xaml生成的代码,该代码命名所有属性并正确解析您的xaml。