2014-08-27 4 views
-1

Я работаю с WPF уже пару дней, и я предварительно разработал свой проект в Photoshop. Теперь я нахожусь на пути к разработке WPF. Проблема, однако, заключается в следующем: есть ли способ заблокировать темы Windows? Я имею в виду, что, например, при создании кнопки это будет выглядеть так, как я хочу, но события наведения/клика по-прежнему будут перезаписывать дизайн, который в конечном счете выглядит совершенно злым. Очень плохо. Я думаю, что я мог бы найти эквивалент шаблона, доступного в css ...Как удалить стили темы Windows?

ответ

1

Я понимаю вас проблемами, так что если вы хотите сделать полную кнопка подгоняет в соответствии с вами, то вам может использовать Template свойство кнопки.

Вы можете написать код стиля в разделе ресурсов Windows.

<Window x:Class="DataBinding.ButtonTemplating" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="ButtonTemplating" Height="300" Width="300"> 
<Window.Resources> 
    <Style TargetType="{x:Type Button}"> 
     <Setter Property="Background" Value="#373737" /> 
     <Setter Property="Foreground" Value="White" /> 
     <Setter Property="FontSize" Value="15" /> 
     <Setter Property="SnapsToDevicePixels" Value="True" /> 

     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type Button}"> 
        <Border CornerRadius="4" Background="{TemplateBinding Background}"> 

          <ContentPresenter x:Name="MyContentPresenter" Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0" /> 

        </Border> 

        <ControlTemplate.Triggers> 
         <Trigger Property="IsMouseOver" Value="True"> 
          <Setter Property="Background" Value="#E59400" /> 
          <Setter Property="Foreground" Value="White" /> 

         </Trigger> 

         <Trigger Property="IsPressed" Value="True"> 
          <Setter Property="Background" Value="OrangeRed" /> 
          <Setter Property="Foreground" Value="White" /> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</Window.Resources> 
<Button Width="200" Height="50" VerticalAlignment="Top">WPF</Button> 

+0

tyvm! работая как шарм. –

0

Да, вы можете переопределить любую из окон, применяя свои собственные шаблоны управления. События наведения/клика являются частью этих шаблонов.

Если вы создадите шаблоны управления частью ресурса, вы можете повторно использовать их во всех своих элементах управления.

по умолчанию стандартных шаблонов можно найти здесь: http://msdn.microsoft.com/en-us/library/aa970773(v=vs.110).aspx

стилей кнопок и шаблоны можно найти здесь: http://msdn.microsoft.com/en-us/library/ms753328(v=vs.110).aspx

Смежные вопросы