我现在需要实现一个动态加载按钮样式的功能,不同的按钮显示不同的样式(由配置来决定)。 并且不同的样式存放在不同的XAML的文件里。具体如下:
样式资源文件是用Microsoft Expression Design 2生成的,并且有多个这样的文件,例如:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<DrawingBrush x:Key="ButtonStyle" Stretch="Uniform">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Brush="#FFFE0000" Geometry="F1 M 50,0C 77.6142,0 100,22.3858 100,50C 100,77.6142 77.6142,100 50,100C 22.3858,100 0,77.6142 0,50C 0,22.3858 22.3858,0 50,0 Z "/>
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</ResourceDictionary>
展现界面是:
<Button Height="50" Width="50" Margin="2" >
<Button.Template>
<ControlTemplate>
<Grid>
<Rectangle Fill="{Binding Path=Style}" />
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
现在我的问题是要怎么样将资源文件的内容动态加载到按钮上来?
因为这个按钮的样式是不定的,有可能是A样式,也有可能是B样式,样式都是存放在不同的XAML的资源文件上。
如果你有空,麻烦你帮我解答 一下。谢谢。。
貌似可以把资源merge到application中 然后用datatrigger或者其他trigger动态切换