WPF XAML 资源样式模板属性存放位置

小说:【情感问答】未来丈母娘反对我们交往作者:华石乙伯更新时间:2019-03-25字数:53664

WPF XAML 资源样式模板属性存放位置


WPF的XAML 资源申明 类似HTML。

整体来说分3种

1.行类资源样式属性

1.1 行内属性

<Button Content="按钮" Foreground="White" FontSize="30"></Button>

1.2 行内样式 模板(没多大意义)

<Button Content="按钮">
  <Button.Style>
         <Style TargetType="Button">
                    <Setter Property="Foreground" Value="White"></Setter>
                    <Setter Property="FontSize" Value="30"></Setter>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="Button">
                                <Grid></Grid>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
          </Style>
  </Button.Style>
  <Button.Template>
           <ControlTemplate TargetType="Button">
                    <Grid></Grid>
           </ControlTemplate>
  </Button.Template>
</Button>

 

2.头部资源样式属性

2.1 头部样式模板 (申明)

<Window.Resources>
        <Style x:Key="xxx" TargetType="Button">
            <Setter Property="Foreground" Value="White"></Setter>
            <Setter Property="FontSize" Value="30"></Setter>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Grid></Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <ControlTemplate x:Key="xx" TargetType="Button">
            <Grid></Grid>
        </ControlTemplate>
</Window.Resources>

2.2 头部样式模板 (引用)

<Window.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Dictionary.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
</Window.Resources>

  

 

3.全局资源样式属性

App.xaml

    <Application.Resources>
        <ResourceDictionary>
<ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Dictionary.xaml"/> </ResourceDictionary.MergedDictionaries>
<Style x:Key="xxx" TargetType="Button"> <Setter Property="Foreground" Value="White"></Setter> <Setter Property="FontSize" Value="30"></Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid></Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> <ControlTemplate x:Key="xx" TargetType="Button"> <Grid></Grid> </ControlTemplate> </ResourceDictionary> </Application.Resources>

 

!!!!!!!!!!!!!!配合资源字典的使用!!!!!!!!!  

 

说明:

1.行类属性尽量少用,只有特殊控件 需要用到行内属性,

   正确的做法是封装统一风格的所有控件。
  (例如按钮,统一高宽,字体,字体大小,然后申明到独立的资源字典中,
    在App.xaml中引用)

2.头部资源引用情况用于 不同 Window 适应不同主题或者风格的情况。

   比如为某一个窗口申明一个当前窗口单独使用的样式。

  (例如播放器的旋转控件,只有一个页面用到,只需要在Window级引用对应资源字典)

   不放在App.xaml原因是为了降低内存消耗。

3.App.xaml 里面的资源引用适用于全局资源。理论上每一个被申明的Window
   都会创建一个对应资源字典的实例。除非是每个Window都会用到的模块,
    不然建议放到对应Window级
  

当前文章:http://0477auto.com/8w6ikf6en1/index.html

发布时间:2019-03-25 04:23:36

自卑与自欺 【情感问答】考研和爱情哪个更重要? 春天的养护 我要上小学了:成长营的第二天 罗李华谈:属虎的人2016年运程 青铜烛台和别人的女郎 过去咖啡作伴 抗战胜利70周年 拟特赦四类罪犯 小升初:不学奥数,到底能不能上市重点?(下) 请尊重一个姑娘的努力

关于《人生》答某报记者问 智商仅次于爱因斯坦的天才男孩需要帮助! 高考之后做什么? 儿童的环境刺激与智力发育 不合群怎么办? 一篇文章看懂Android学习最佳路线 罗李华语录 我为何偷了4年的胸罩? 快来首尔冬季滑雪旅游 不要让孩子未来孤苦无依 什么是阿里巴巴的合伙人制度? 不要让孩子未来孤苦无依 新手炒原油必学的那些知识 文创优化 - 黄胤然首倡文化新概念 数字背后的科学 2011再谈择校:续说海淀区民族小学 你还这么年轻,不必活得好像历经沧桑 不敢死,不敢穷,不敢远嫁,因为爸妈只有你! 感觉自己干什么都不行,怎么办?

编辑:平帝

我要说两句: (0人参与)

发布