如何以编程方式更改样式组件
本文关键字:样式 组件 方式更 编程 | 更新日期: 2023-09-27 18:04:45
我制作了一个图像到按钮控件。现在我想用c#代码改变这个图像。
<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Image x:Name="MyImage" Source="r.png" Stretch="Fill"/>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True"/>
<Trigger Property="IsDefaulted" Value="True"/>
<Trigger Property="IsMouseOver" Value="True"/>
<Trigger Property="IsPressed" Value="True"/>
<Trigger Property="IsEnabled" Value="False"/>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我想使用c#代码更改MyImage。谢谢你的帮助
使用FindName
:
((button.Template).FindName("MyImage", button) as Image).Source = new BitmapImage(new Uri("..."));
在您的后台代码中,假设您想将图片更改为名为"s.png"
的图像:
myImage.Source = new BitmapImage(new Uri(@"s.png", UriKind.Relative));