Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
C# WPF中的DesignerAttribute?_C#_.net_Wpf - Fatal编程技术网

C# WPF中的DesignerAttribute?

C# WPF中的DesignerAttribute?,c#,.net,wpf,C#,.net,Wpf,在WPF中是否可以提供一个替代类,该类应作为控件显示在设计器中,而不是控件本身,就像DesignerAttribute对WinForms所做的那样 编辑: 我想知道的是,这个班发生了什么。该类有一个关联的类ReportViewerDesigner,该类在设计器中使用,而不是ReportView类本身;因为WPF将设计器元数据分离到单独的程序集中,如中所述 在System.ComponentModel中 框架,设计器类型为 与其对应的 组件通过 DesignerAttribute元数据属性。 这意

在WPF中是否可以提供一个替代类,该类应作为控件显示在设计器中,而不是控件本身,就像
DesignerAttribute
对WinForms所做的那样

编辑:
我想知道的是,这个班发生了什么。该类有一个关联的类
ReportViewerDesigner
,该类在设计器中使用,而不是
ReportView
类本身;因为WPF将设计器元数据分离到单独的程序集中,如中所述

在System.ComponentModel中 框架,设计器类型为 与其对应的 组件通过 DesignerAttribute元数据属性。 这意味着这段关系已经结束 在编译时建立,强制 服务器之间的硬编码依赖关系 组件的运行时和设计时 行为。附加不同的 设计师,您必须更改 设计师致敬宣言及 重新编译组件的代码库

在WPF设计器中,设计器元数据 被分解成一个单独的组件, 从物理上将其与 运行时实现。这种自由 这意味着可以使用不同的工具 完全不同的设计 相同运行时的经验 类型。有关详细信息,请参阅 元数据存储

这方面的一个具体示例是VS designer与Expression Blend designer

编辑:

如评论部分所述,它们是根本不同的方法。无论如何,它不是1:1;就像WinForms与WPF构建应用程序的方法一样。如果您正在寻找一个难以捉摸的属性,它将简单地使用不同的类作为设计器表示;它不存在。当然有很多方法可以实现您想要的,并允许设计器以多种方式显示给定的控件,但这种方法与WinForms不同

  • (查看设计器实例创建)

我读过上面的内容,但这不是我想要的。我有一个WPF控件,无法用于在设计器中显示。相反,我需要能够在设计器中显示完全不同的控件,例如,
ReportViewer
在Visual Studio中显示类
ReportViewerDesigner
,而不是控件本身;WPF与Windows窗体。查看更新答案中的其他相关示例和信息…我知道。我的情况是,我有一个基于XAML的控件库,而不是基于WPF,为此我需要一个可视化设计器。我希望我可以提供WPF控件作为在设计器上显示的控件,而不必创建自己的设计器。“基于XAML的控件库不基于WPF”…这是内部产品还是第三方?如果是第三方;库在哪里?如果这是在XAML中创建的可重用控件库,但不基于WPF;它基于什么?SL?