所以基本上我想要一个带有特定背景图像的按钮。
例如,当应用程序加载时,您会看到一个按钮,其背景图像为image1.png,然后单击它时,您会看到image2.png作为背景图像。然后再次单击时,背景图像将切换回image1.png。
尽管我已经在C#中完成了这项工作,但我想在XAML中完成它,因为每次单击按钮时它都会根据主题颜色自动亮起,而摆脱它的唯一方法是通过XAML。 / p>
这是我的代码所以fa:
<Button x:Name="Buttons" Content="" HorizontalAlignment="Left" Margin="155,0,0,69" BorderBrush="Transparent" Width="140" Click="Button_Click" Height="141" VerticalAlignment="Bottom">
<Button.Background>
<ImageBrush Stretch="Fill" ImageSource="/Assets/image1.png"/>
</Button.Background>
</Button>
提前致谢!
答案 0 :(得分:0)
试试这个,
http://visualstudiomagazine.com/articles/2013/02/15/customize-windows-phone-togglebutton.aspx
此处,随SDK附带的ToggleButton已经模板化添加点击和未单击的图像。
带复选框的备用解决方案:
答案 1 :(得分:0)
VisualStudio 2017“空白应用程序”
XAML
<Button x:Name="button" Content="Button1" HorizontalAlignment="Left" Margin="400,20,0,0" VerticalAlignment="Top" RenderTransformOrigin="-1.258,-5" Click="Button_Click" Height="80" Width="80"/>
C#(在按钮的属性中设置原始图像:右键单击->画笔->图像)
private void Button1_Click(object sender, RoutedEventArgs e)
{
button1.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri("ms-appx:/Images/timerg.png", UriKind.RelativeOrAbsolute)) };
}
或C#
private void Button1_Click(object sender, RoutedEventArgs e)
{
BitmapImage bmp = new BitmapImage();
Uri u = new Uri("ms-appx:/Images/timer.png", UriKind.RelativeOrAbsolute);
bmp.UriSource = u;
// NOTE: change starts here
Image i = new Image();
i.Source = bmp;
button1.Content = i;
}