我使用表达式混合制作了一个自定义按钮并将其粘贴到我的 xaml 代码中。
<phone:PhoneApplicationPage.Resources>
<Style x:Key="ButtonStyle1" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="Disabled"/>
<VisualState x:Name="MouseOver"/>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle RadiusY="21" RadiusX="20" Stroke="White"/>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</phone:PhoneApplicationPage.Resources>
然后,我在我的 c# 代码中使用此资源来动态更改颜色、字体大小、背景、前景和所有可能的属性。
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
createButton();
}
public void createButton()
{
Button buttton = new Button { Height = 100, Background = new SolidColorBrush(Colors.Blue), Width = 300, Content = " Button", Style = this.Resources["ButtonStyle1"] as Style };
ContentPanel.Children.Add(buttton);
}
但我无法这样做,按钮中没有反映任何变化。有什么办法。我知道我必须改变矩形的颜色。但不知道该怎么做。我尝试了很多。谢谢。