2012-06-09 20 views
0

我们从WinForms的WPF的迁移......慢慢=)WPF的应用广泛的风格形式的环境信息

不,我们使用WPF用户控件与ElementHost的。

是否可以在此上下文中定义应用程序范围的资源?在纯WPF Application.Resources代表它。但是,与WinForms集成时,没有WPF应用程序。

回答

1

可以使用即使您的项目是一个带有几个独立WPF表单的WinForms项目,WPF应用程序对象也是如此或控件。该对象不会为您预先创建,但如果您手动创建该对象,则只需通过new App()(或者即使没有派生类,new System.Windows.Application()),项目中的所有内容都会看到它。

1

您可以创建一个通用ResourceDictionary并将其添加到您的UserControl的资源。这样你只需要在一个位置改变你的风格。

Dictionary1.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

</ResourceDictionary> 

,并使用MergedDictionarys

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

或者只是把它添加到您的用户控件添加到控制的资源这样

<UserControl.Resources> 
    <ResourceDictionary Source="Dictionary1.xaml"/> 
</UserControl.Resources>