WPF xaml中Style设置值的StaticResource的问题
<Canvas.Resources>
<ImageBrush x:Key="myImageBrush1" ImageSource="/myEdit;component/Images/btn1.ico"/>
<ImageBrush x:Key="myImageBrush2" ImageSource="/myEdit;component/Images/btn2.ico"/>
<ImageBrush x:Key="myImageBrush3" ImageSource="/myEdit;component/Images/btn3.ico"/>
<ImageBrush x:Key="myImageBrush4" ImageSource="/myEdit;component/Images/btn4.ico"/>
<Style x:Key="myStyle" TargetType="{x:Type Button}">
<Setter Property="Border.Background" Value="{StaticResource ?????}"/>
</Style>
</Canvas.Resources>
<Button x:Key="btn1" Content="btn1" Style="{StaticResource myStyle}" />
<Button x:Key="btn2" Content="btn2" Style="{StaticResource myStyle}" />
<Button x:Key="btn3" Content="btn3" Style="{StaticResource myStyle}" />
<Button x:Key="btn4" Content="btn4" Style="{StaticResource myStyle}" />
?????处应该如何写才能让btn1应用btn1.ico背景,btn2应用btn2.ico背景? --------------------编程问答-------------------- 用控件模板试试。
--------------------编程问答-------------------- 模版和style一样吧,还是不会····
<ControlTemplate x:Key="Btn1" TargetType="{x:Type Button}">
<Grid>
<Image x:Name="bg_pic" Source="btn1.ico" Stretch="Uniform"/>
<Border>
<ContentPresenter Content="{TemplateBinding Content}"/>
</Border>
</Grid>
</ControlTemplate>
<Button x:Key="btn1" Content="btn1" Template="{StaticResource Btn1}"" />
能不能在xaml中使用数组啊···· --------------------编程问答-------------------- XAML是类似XML的扩展标记语言,无法使用数组的。
控件模板的作用是针对控件进行自定义定制,引用了该模板的控件将会根据该定制进行模板实例化,包括外观以及内部的控件排布等等。具体可以参考MSDN。
而style只能配置控件的显示外观。 --------------------编程问答-------------------- 其实直接设置每一个按钮的background就可以,用一个binding + converter
另一种方法如下:
<Canvas.Resources>
<Style x:Key="myStyle" TargetType="{x:Type Button}">
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="{Binding Path=Tag,RelativeSource={RelativeSource TemplatedParent}}"></ImageBrush>
</Setter.Value>
</Setter>
</Style>
</Canvas.Resources>
<!-- 把下面的1.gif替换成你的文件-->
<Button Name="btn1" Content="btn1" Style="{StaticResource myStyle}" Tag="1.gif"/>
<Button Name="btn2" Content="btn2" Style="{StaticResource myStyle}" Tag="1.gif"/>
<Button Name="btn3" Content="btn3" Style="{StaticResource myStyle}" Tag="1.gif"/>
<Button Name="btn4" Content="btn4" Style="{StaticResource myStyle}" Tag="1.gif"/>
补充:.NET技术 , C#