我正在尝试为应用程序编写样式/主题 这是基于mergedResourceDisctionary 我的目的是从相同类型的现有Base Dynamic资源继承动态资源,在本例中为
STAC_RGrad_Status_Base
在下面的例子中,我有2个其他RadialGradientBrushes,它们共享完全相同的属性,除了GradientStops
我已经在某种程度上继承了,(参见STAC_RGrad_Status_Green)然而,有一种比这更简单的方法,我可以将所有4个Binding语句替换为" One Liner"声明被解释为
属性=" {Binding Propterties,Source = {DynamicResource STAC_RGrad_Status_Base}}除了GradientStops"
如果我需要在
中定义的资源树中添加其他属性,那么将来可以进行验证所以不要像我在示例中那样为每个属性创建绑定 它被一个"一个衬里取代"
<RadialGradientBrush x:Key="STAC_RGrad_Status_Base"
GradientOrigin="0.5,0.5"
Center="0.5,0.5"
RadiusX="0.5"
RadiusY="0.5"
GradientStops="{DynamicResource STAC_Grad_Status_Disabled}"
/>
<RadialGradientBrush x:Key="STAC_RGrad_Status_Red"
GradientOrigin="0.5,0.5"
Center="0.5,0.5"
RadiusX="0.5"
RadiusY="0.5"
GradientStops="{DynamicResource STAC_Grad_Status_Red}"
/>
<RadialGradientBrush x:Key="STAC_RGrad_Status_Green"
GradientOrigin="{Binding GradientOrigin, Source={DynamicResource STAC_RGrad_Status_Base}}"
Center="{Binding Center, Source={DynamicResource STAC_RGrad_Status_Base}}"
RadiusX="{Binding RadiusX, Source={DynamicResource STAC_RGrad_Status_Base}}"
RadiusY="{Binding RadiusY, Source={DynamicResource STAC_RGrad_Status_Base}}"
GradientStops="{DynamicResource STAC_Grad_Status_Green}"
/>