我正在尝试<Button/>
为背景和背景颜色创建一个带有 png 图像的图像。
注意: 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
为其他内容?