按钮的边框是不可见的,没有背景颜色

时间:2014-11-25 14:33:44

标签: wpf xaml

最初我有一个按钮,效果很好。现在我想圆角。

<Button Content="Start" x:Name="Start" Style="{StaticResource RoundButtonTemplate}"
    HorizontalAlignment="Left"
    Margin="20,20,0,0"
    VerticalAlignment="Top"
    Width="75"
    Click="Start_Click">

在后面的代码中,我将背景颜色设置为:

Start.IsEnabled = false;
Start.Background = Brushes.Red;

在App.xaml中:

 <Application.Resources>
    <Style x:Key="RoundButtonTemplate" TargetType="Button">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border CornerRadius="15"                               BorderThickness="1">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center">

                        </ContentPresenter>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Application.Resources>

现在的问题是:

  1. 背景颜色消失了。
  2. 按钮的边框不可见。
  3. 如何修改样式?

1 个答案:

答案 0 :(得分:0)

查看按钮http://msdn.microsoft.com/de-de/library/ms753328%28v=vs.110%29.aspx

的默认样式

在你的风格中你定义了一个边界&#34;角半径,但无法检索颜色。您应该使用{TemplateBinding Background}添加Background属性,以便它绑定到按钮的Background属性(Start.Background)。

您始终可以复制默认样式并进行修改。您还应该看一下模板绑定的工作方式:)