我正在尝试创建一个带有PNG图像作为背景和背景颜色的<Button/>
。
注意:可能尚未确定PNG图像源,因此我无法将它们放入模板中。
我有一个看起来像这样的Style
:
<Style x:Key="MyButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border CornerRadius="0">
<Image Margin="0" Source="/MyApp;component/Images/my-image.png" Stretch="None" />
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Background" Value="LimeGreen" />
</Style>
</Border.Style>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
这段代码会在一个实心的LimeGreen背景上放置一个带有png图片的按钮。
我的MainWindow.xaml
文件大致如下:
<Button Style="{StaticResource MyButton}" Click="btnMine_Click" /* some other props */ />
它的代码如下:
private void btnMine_Click(object sender, RoutedEventArgs e)
{
// TODO: change the image src on this button
var myButton = sender as Button;
// This won't work:
// myButton.Border.Image.Source = getNewImageString();
}
如何将图像源从/MyApp2;component/Images/my-image.png
更改为其他内容?