2011-02-18 31 views
8

我通常在选项卡下的App.xml中定义样式和控件模板。 因此,在设计UI时,我可以在Visual Studio 2008中使用.NET3.5在设计视图中应用样式来查看UI。在WPF中,如何在设计视图中将样式应用于UserControl?

但是,在另一种情况下,有时我只做UserControl项目,在这种情况下,没有App.xml,因此UI在设计视图中显示为默认外观。很难知道运行时的实际情况。

有什么办法可以将样式应用于UserControl吗? 如果有一种方法可以在应用程序项目和UserControl项目之间共享相同的样式和模板,那将是完美的!

请让我知道是否有解决方案。

+0

创建页面或窗口作为根元素元素。将您的资源添加到Window.Resources。将您的UserControl添加为您的Window的内容。 – 2011-02-18 10:51:03

回答

4

您可以在控制项目中将您的样式保存在单独的ResourceDictionary中。然后,你需要的资源块Merge Dictionaries在每个用户控件的顶部:

<UserControl.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="MyControlLibraryStyles.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</UserControl.Resources> 

这种方法的问题当然是你失去任何好处是应用程序级的款式会给你(像造型不同的的不同的应用程序),因为现在样式都是由底层控件决定的。

+0

完美!我想要做的是对所有应用程序使用相同的样式,因此对于不同的应用程序使用不同样式的好处对我来说不是一个缺点。 =)很酷。谢谢,达纳。 – Aki24x 2011-02-23 07:05:24

相关问题