C# WPF中的DesignerAttribute?
在WPF中是否可以提供一个替代类,该类应作为控件显示在设计器中,而不是控件本身,就像C# WPF中的DesignerAttribute?,c#,.net,wpf,C#,.net,Wpf,在WPF中是否可以提供一个替代类,该类应作为控件显示在设计器中,而不是控件本身,就像DesignerAttribute对WinForms所做的那样 编辑: 我想知道的是,这个班发生了什么。该类有一个关联的类ReportViewerDesigner,该类在设计器中使用,而不是ReportView类本身;因为WPF将设计器元数据分离到单独的程序集中,如中所述 在System.ComponentModel中 框架,设计器类型为 与其对应的 组件通过 DesignerAttribute元数据属性。 这意
DesignerAttribute
对WinForms所做的那样
编辑:我想知道的是,这个班发生了什么。该类有一个关联的类
ReportViewerDesigner
,该类在设计器中使用,而不是ReportView
类本身;因为WPF将设计器元数据分离到单独的程序集中,如中所述
在System.ComponentModel中
框架,设计器类型为
与其对应的
组件通过
DesignerAttribute元数据属性。
这意味着这段关系已经结束
在编译时建立,强制
服务器之间的硬编码依赖关系
组件的运行时和设计时
行为。附加不同的
设计师,您必须更改
设计师致敬宣言及
重新编译组件的代码库
在WPF设计器中,设计器元数据
被分解成一个单独的组件,
从物理上将其与
运行时实现。这种自由
这意味着可以使用不同的工具
完全不同的设计
相同运行时的经验
类型。有关详细信息,请参阅
元数据存储
这方面的一个具体示例是VS designer与Expression Blend designer
编辑:
如评论部分所述,它们是根本不同的方法。无论如何,它不是1:1;就像WinForms与WPF构建应用程序的方法一样。如果您正在寻找一个难以捉摸的属性,它将简单地使用不同的类作为设计器表示;它不存在。当然有很多方法可以实现您想要的,并允许设计器以多种方式显示给定的控件,但这种方法与WinForms不同
- (查看设计器实例创建)
ReportViewer
在Visual Studio中显示类ReportViewerDesigner
,而不是控件本身;WPF与Windows窗体。查看更新答案中的其他相关示例和信息…我知道。我的情况是,我有一个基于XAML的控件库,而不是基于WPF,为此我需要一个可视化设计器。我希望我可以提供WPF控件作为在设计器上显示的控件,而不必创建自己的设计器。“基于XAML的控件库不基于WPF”…这是内部产品还是第三方?如果是第三方;库在哪里?如果这是在XAML中创建的可重用控件库,但不基于WPF;它基于什么?SL?