日期:2014-05-18  浏览次数:20888 次

一个WPF项目里需要好多窗口,这些窗口具有一些共同的属性设置,怎么把这些共同的属性设置放到style里,然后放到资源字典里?
如题,这个项目的每个window都具有下列共同的属性值:

XML code
<Window 
        Height="221" Width="220" WindowStyle="None"  
        WindowStartupLocation="CenterScreen"
        AllowsTransparency="True">


我想自定义一个资源文件,然后定义一种style,大致内容如下:

 
XML code
<Style x:Key="Wnd_220x221" TargetType="Window">
                <Setter Property="Width" Value="220"/>
                <Setter Property="Height" Value="221"/>
                <Setter Property="WindowStyle" Value="None"/>        
        </Style>


然后想在每个窗口的XAML里如下使用:

XML code
<Window 
        style="Wnd_220x221" 
        WindowStartupLocation="CenterScreen"
        AllowsTransparency="True">


但目前不成功。

这样的思路对吗?这个问题应该怎样解决呢?

------解决方案--------------------
放在资源字典里
然后
C# code
 <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="..xxxx.xaml"/>
            </ResourceDictionary.MergedDictionaries>        
        </ResourceDictionary>

------解决方案--------------------
思路没错,但是基础不稳
http://www.cnblogs.com/Zhouyongh/archive/2011/08/01/2123610.html
------解决方案--------------------
style={StaticResource Wnd_220x221}

前提是你把这个Style加载进来
加载办法,
1. 新建Style.xaml的ResourceDictionary
2. 然后通过App.xaml加入
XML code

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Style.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>