资源字典帮助 [英] Resource dictionary help

查看:35
本文介绍了资源字典帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我已经创建了一个WPF资源字典文件并放入其中


 


 


    < Style x:Key =" test123" TargetType =" Border">


   &NBSP; &NBSP;  < Style.Resources>


   &NBSP; &NBSP; &NBSP; &NBSP;  < LinearGradientBrush x:Key =" BackBrush"


   &NBSP; &NBSP; &NBSP; StartPoint可以= QUOT; 0.5,0" EndPoint =" 0.5,1"


   &NBSP; &NBSP;  >


   &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < GradientStop Color ="#88000000"偏移量=" 0.1" />


   &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < GradientStop Color ="#CC000000"偏移量=" 0.9" />


   &NBSP; &NBSP; &NBSP; &NBSP;  < / LinearGradientBrush>


   &NBSP; &NBSP; &NBSP; &NBSP;  < LinearGradientBrush x:Key =" BorderBrush"


   &NBSP; &NBSP; &NBSP; StartPoint可以= QUOT; 0.5,0" EndPoint =" 0.5,1"


   &NBSP; &NBSP;  >


   &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < GradientStop Color ="#18000000"偏移量=" 0.1" />


   &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < GradientStop Color ="#08000000"偏移量=" 0.9" />


   &NBSP; &NBSP; &NBSP; &NBSP;  < / LinearGradientBrush>


   &NBSP; &NBSP;  < /Style.Resources>


   &NBSP; &NBSP;  < Setter Property =" Background" Value =" {StaticResource BackBrush}" />


   &NBSP; &NBSP;  < Setter Property =" BorderBrush" Value =" {StaticResource BorderBrush}" />


   &NBSP; &NBSP;  < Setter Property =" BorderThickness"值= QUOT 1 QUOT; />


   &NBSP; &NBSP;  < Setter Property =" CornerRadius"值= QUOT; 8英寸/>


   &NBSP; &NBSP;  < Setter Property =" Margin"值= QUOT; 2,4 QUOT; />


    < / Style>


 


 


在我的主表单上怎么做将样式应用于:


 


i)所有边界


(ii)具体边框


 


我也可以将该样式设为全局项目吗?


谢谢


Thomas


2010:Q6700 3GHz; 6GB DDRII; ~2.7TB内部;华硕512mb EN8800GT; Elixir键盘;技嘉GM-M6800; 2 x E173FPf 2005:2GIG RAM,3.6Ghz P4,2 x 200gb SATA HD 8mb缓存,256mb 9950 ATI RADEON,19" LCD

解决方案

嗨托马斯,


         ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;当您使用Blend添加ResourceDictionary时,我们会自动将其链接到App.xaml,以便ResourceDictionary中定义的资源可用于项目的全局
。如果您的资源字典未在App.xaml中链接,那么您可以按照以下步骤操作:


1。转到资源窗格


2。右键单击App.xaml,选择Link to Resource Dictionary 并在子菜单中单击您的资源字典


如果要将此样式应用于所有边框,您应该考虑创建它作为隐式样式,即从样式中删除x:Key属性,以便可以将其应用于项目中的所有边框


此外,如果您只想将此用于特定边框,那么您可以右键单击选择边框并选择"编辑样式 - >申请资源"并从子菜单中选择资源。您也可以通过选择边框并点击"对象
- >"来执行此操作。编辑样式 - >申请资源"菜单项。 


希望这会有所帮助。


- Navit Saxena


 


Hi, let's say I have created a WPF resource dictionary file and put in it

 

 

    <Style x:Key="test123" TargetType="Border">

        <Style.Resources>

            <LinearGradientBrush x:Key="BackBrush"

        StartPoint="0.5,0" EndPoint="0.5,1"

        >

                <GradientStop Color="#88000000" Offset="0.1" />

                <GradientStop Color="#CC000000" Offset="0.9" />

            </LinearGradientBrush>

            <LinearGradientBrush x:Key="BorderBrush"

        StartPoint="0.5,0" EndPoint="0.5,1"

        >

                <GradientStop Color="#18000000" Offset="0.1" />

                <GradientStop Color="#08000000" Offset="0.9" />

            </LinearGradientBrush>

        </Style.Resources>

        <Setter Property="Background" Value="{StaticResource BackBrush}"/>

        <Setter Property="BorderBrush" Value="{StaticResource BorderBrush}"/>

        <Setter Property="BorderThickness" Value="1" />

        <Setter Property="CornerRadius" Value="8" />

        <Setter Property="Margin" Value="2,4" />

    </Style>

 

 

On my main form how do apply the style to a:

 

i) All borders

(ii) A specific borders

 

Also can I make the style global to the project?

Thanks

Thomas


2010: Q6700 3GHz; 6GB DDRII; ~ 2.7TB internal; ASUS 512mb EN8800GT; Elixir Keyboard; Gigabyte GM-M6800; 2 x E173FPf 2005: 2GIG RAM, 3.6Ghz P4, 2 x 200gb SATA HD 8mb cache, 256mb 9950 ATI RADEON,19" LCD

解决方案

Hi Thomas,

                   When you add a ResourceDictionary using Blend we automatically link it to App.xaml so that the resources defined in the ResourceDictionary are available global to the project. If your Resource Dictionary is not linked in App.xaml then you can follow these steps:

1. Goto Resource Pane

2. Right click on App.xaml, select Link to Resource Dictionary and click on your Resource Dictionary in the sub menu

If you want to apply this style to all borders you should probably consider creating it as an implicit style i.e. remove the x:Key attribute from the style so that this can be applied to all borders in the project

Also, if you want to use this only for specific borders then you can right click on the select borders and select "Edit Style --> Apply Resource" and select the resource from the sub menu. You can also do this by selecting the borders and clicking "Object --> Edit Style --> Apply Resource" menu item. 

Hope this helps.

--Navit Saxena

 


这篇关于资源字典帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆