2013-03-26 2 views
3

Почему толщина границы кнопки не изменяется?Изменить толщину границы окна в wpf?

Если я меняю толщину границы на 1 или 100, это не имеет значения. Это то же самое. Я хотел бы его изменить, используя Стиль, а не Пользовательский шаблон.

<Window x:Class="GUI.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 

    Title="MainWindow" Height="350" Width="525"> 
<Window.Resources> 
    <Style x:Key="newYellowButton" TargetType="{x:Type Button}"> 
     <Setter Property="Width" Value="100"/> 
     <Setter Property="Height" Value="100"/> 
     <Setter Property="Background"> 
      <Setter.Value> 
       <RadialGradientBrush Center="0.5,0.5" GradientOrigin="0.5,0.5" RadiusX="0.5" RadiusY="0.5" SpreadMethod="Pad" ColorInterpolationMode="SRgbLinearInterpolation"> 
        <GradientStop Color="#FFEEEE3B" Offset="0.5" /> 
        <GradientStop Color="#FFF0E49A" Offset="1" /> 
       </RadialGradientBrush> 
      </Setter.Value> 
     </Setter> 
     <Setter Property="BorderThickness" Value="9"/> 
     <Setter Property="BorderBrush" Value="Blue" /> 
     <Setter Property="Padding" Value="-4"/> 
    </Style> 
</Window.Resources> 
<Grid> 
    <Button Style="{StaticResource newYellowButton}" Content="Ok"/> 
</Grid> 

+0

отлично работает для меня, код, который вы размещены. Также попытался изменить BorderThickness в стиле, и результат будет таким же, как ожидалось. – Viv

ответ

2

Вы можете сделать это, изменив Button's ControlTemplate. Скопируйте эти стили, кисти и ... в словарь ресурсов, а затем измените нужные значения.

Чтобы изменить толщину границы найти следующий код и внести необходимые изменения:

... 
<Border 
     x:Name="Border" 
     CornerRadius="2" 
     BorderThickness="1"        //CHANGE THIS VALUE 
     Background="{StaticResource NormalBrush}" 
     BorderBrush="{StaticResource NormalBorderBrush}"> 
     <ContentPresenter 
     Margin="2" 
     HorizontalAlignment="Center" 
     VerticalAlignment="Center" 
     RecognizesAccessKey="True"/> 
</Border> 
... 
+0

Мне просто интересно, можно ли этого достичь без шаблона, только со стилем. –

+0

На самом деле, если вы перейдете по ссылке, вы узнаете, что это простой стиль. Я редактировал свой пост. –

+0

Большое спасибо за ответ! –