所以从这个免费软件中,我可以让自己成为我自己的地铁按钮,如下所示:
虽然图标是白色的,所以可能看不到它,我把它放在我的网格(用 XAML 编写)中:
在技术上它仍然是一个图像,所以我把它做成了按钮,这是一个将图像转换成按钮的代码:
<Button x:Name="Button_CreateAccount" Content="" HorizontalAlignment="Center" Height="65" Margin="0" Style="{StaticResource Button_CreateAccount}" Width="65" Click="Button_CreateAccount_Clicked"/>
看到我将它命名为“Button_CreateAccount”,添加一个 Clicked 事件处理程序“Button_CreateAccount_Clicked”,并使用自定义样式“{StaticResource Button_CreateAccount}”
它按我的预期工作,但与任何其他按钮不同,它在按下时不会闪烁并在释放时释放闪烁,这可能是因为它在技术上是一个图像。所以我认为我可以通过更改其样式以编程方式使其在被按下时“闪烁”。这是 Blend 在 Visual Studio 2012 中自动添加的未编辑样式:
<Style x:Key="Button_CreateAccount" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Pressed"/>
<VisualState x:Name="Disabled"/>
<VisualState x:Name="PointerOver"/>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused"/>
<VisualState x:Name="PointerFocused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Image Source="Assets/Icons_White/add_user.png" Stretch="Fill"/>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
但是,我不会说 XAML 语言 :( 我不知道如何在按下后简单地更改图像背景的颜色。任何帮助将不胜感激,谢谢!