【问题标题】:Have a WPF Control Class being a template class将 WPF 控件类作为模板类
【发布时间】:2010-07-02 12:45:17
【问题描述】:

有没有办法让 WPF UserControl 类成为具有模板类型的类? 例如

public partial class MyControl : UserControl

应该是:

public partial class MyControl<MyData> : UserControl

因为我总是遇到编译错误,MyControl 没有引用 InitializeComponents,它位于类的自动生成部分中。 问题是,我无法在类的 xaml 部分中判断用户控件的类型为MyControl&amp;lt;MyData&amp;gt;。我什至试过MyControl&amp;lt;MyData&amp;gt; ...

【问题讨论】:

  • 欢迎来到 SO!下一次,请通过单击 101010 按钮格式化代码块,并使用反引号 (``) 格式化内联代码。这将使您的尖括号正确显示。
  • 感谢编辑。下次我会用格式化的东西!
  • 啊哈,在发布我的答案之前我应该​​检查一下来源 :-) 干得好,Thomas - 我会编辑我的答案!

标签: c# wpf class templates user-controls


【解决方案1】:

不,您不能在 XAML 中声明泛型类型。来自http://social.msdn.microsoft.com/forums/en-US/wpf/thread/02ca0499-80af-4c56-bb80-f1185a619a9e

您好,您可以使用泛型,只要 你不使用 XAML。但不幸的是, 如果你想使用 XAML 来定义你的 控件,不能使用泛型……

您可以通过在根标记上放置x:TypeArguments 属性来创建从泛型类型继承的XAML 控件,但该控件本身必须是具体的。

【讨论】:

  • 感谢该链接非常有帮助。
猜你喜欢
  • 1970-01-01
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多