我有几个类似的用户控件,它们分别显示不同数据实体的列表视图。在这些控件的代码隐藏文件中,有相当多的公共业务逻辑。
如何将这些通用方法组合到一个“超类”中,就像我在普通的非wpf情况下所做的那样(不需要重用任何xaml部分)?创建控件继承自的超级控件(仅包含一个框架xaml文件)会产生以下解析器错误:
Partial declarations of DERIVED-CLASS must not specify different base classes在派生的用户控件中。
非常感谢。
发布于 2009-10-22 09:00:27
如何在派生的用户控件中使用“超级控件”?简单地改变基类?
如果是这样的话,您需要更改XAML文件的根元素(即指定了x:Class的那个文件)来匹配。
发布于 2009-10-22 08:55:19
听起来DataTemplating就是你想要的。您设置了一个包含所有业务逻辑的通用自定义列表视图,然后在XAML中使用数据模板来根据它包含的对象类型自定义视图。
这里有一个很好的链接可以帮助您入门:http://msdn.microsoft.com/en-us/library/ms742521.aspx
发布于 2009-10-22 09:48:33
我最好的建议是创建无查找控件(控件带有/不关联XAML )。这些你可以继承,并最终更强大,因为你可以制作的样式将更加灵活(即按钮,你可以样式化成任何东西。按钮是无外观的控件)。控件的默认样式可以放在Themes\generic.xaml中,也可以为子类控件设置其他默认样式。这些样式也可以具有存在于其他资源字典中的副本。
我介绍了lookless controls here on my blog post,但它是面向silverlight的。在WPF中,它在语法上略有不同,但思想相同。
https://stackoverflow.com/questions/1604443
复制相似问题