我有一个带有自定义控件MyDataGrid
的Silverlight应用程序,该DataGrid
具有一些额外的功能。
这是使用它的项目的一部分。它还需要自定义样式。我可以将样式添加到我的样式资源字典中,并设置有效的TargetType="sdk:DataGrid"
。
但是,我的样式依赖于MyProperty
特有的属性MyDataGrid
,因此编辑器中会出现警告。更重要的是,无法在设计器中预览样式。
然而,当代码运行时,它们会起作用。
我的问题是:有没有办法将本地控件引入资源字典,而不是创建一个单独的项目,将其编译为.dll,然后拉入该程序集?
谢谢!
答案 0 :(得分:1)
听起来你做了一个自定义控件,但是你没有为它定义默认样式。请尝试以下方法:
DefaultStyleKey = typeof(MyDataGrid);
如果要从代码访问部分样式(在XAML中定义),则应将该XAML项目命名为“PART_something”。设计工具了解PART_ *语法,并指出库消费者如果重新设置控件,则必须定义前缀为PART _的必需件。
以下是有关如何define a custom control的基础知识。