Re[2]: [WPF] Windows 7 и кнопка. Забеливается.
От: AlexzundeR  
Дата: 30.05.10 20:14
Оценка:
Здравствуйте, MxMsk, Вы писали:
MM>Накидай сюда шаблон.

Шаблон:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <RadialGradientBrush RadiusX="1" RadiusY="5" GradientOrigin="0.5,0.3"
                         x:Key="HighlightBackground">
        <GradientStop Color="Red" Offset="0"/>
        <GradientStop Color="DarkRed" Offset=".4"/>
    </RadialGradientBrush>

    <RadialGradientBrush RadiusX="1" RadiusY="5" GradientOrigin="0.5, 0.3" 
            x:Key="PressedBackground">
        <GradientStop Color="Green" Offset="0" />
        <GradientStop Color="Green" Offset=".4" />
    </RadialGradientBrush>

    <SolidColorBrush Color="Aqua" x:Key="DefaultBackground"></SolidColorBrush>

    <SolidColorBrush Color="Green" x:Key="DisabledBackground"></SolidColorBrush>

    <RadialGradientBrush RadiusX="1" RadiusY="5" GradientOrigin="0.5, 0.3" 
        x:Key="Border">
        <GradientStop Color="Black" Offset="0" />
        <GradientStop Color="Chocolate" Offset=".4" />
    </RadialGradientBrush>

    <!--        Шаблон элемента управления Button.-->

    <ControlTemplate x:Key="GradientButtonTemplate" TargetType="{x:Type Button}">
        <Border Name="Border" BorderBrush="{StaticResource Border}" BorderThickness="2" 
            CornerRadius="0" Background="{StaticResource DefaultBackground}" 
                TextBlock.Foreground="White">
            <Grid>
                <Rectangle Name="FocusCue" Visibility="Hidden" Stroke="Black" 
                    StrokeThickness="1" StrokeDashArray="1 2" SnapsToDevicePixels="True">
                </Rectangle>
                <ContentPresenter Margin="{TemplateBinding Padding}" 
                      RecognizesAccessKey="True"></ContentPresenter>
            </Grid>
        </Border>
        <ControlTemplate.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter TargetName="Border" Property="Background" 
                            Value="{StaticResource HighlightBackground}" />
            </Trigger>
            <Trigger Property="IsMouseDirectlyOver" Value="True">
                <Setter TargetName="Border" Property="Background" 
                            Value="{StaticResource HighlightBackground}" />
            </Trigger>
            <Trigger Property="IsPressed" Value="True">
                <Setter TargetName="Border" Property="Background" 
                    Value="{StaticResource PressedBackground}" />
            </Trigger>
            <Trigger Property="IsKeyboardFocused" Value="True">
                <Setter TargetName="FocusCue" Property="Visibility" 
                    Value="Visible"></Setter>
            </Trigger>
            <Trigger Property="IsEnabled" Value="False">
                <Setter TargetName="Border" Property="Background" 
                    Value="{StaticResource DisabledBackground}"></Setter>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <Style TargetType="{x:Type Button}">
        <Setter Property="BorderBrush" 
            Value="{StaticResource Border}"></Setter>
        <Setter Property="Background" 
            Value="{StaticResource DefaultBackground}"></Setter>
        <Setter Property="TextBlock.Foreground" 
            Value="White"></Setter>
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Background" 
                    Value="{StaticResource HighlightBackground}" />
            </Trigger>

            <Trigger Property="IsPressed" Value="True">
                <Setter Property="Background" 
                    Value="{StaticResource PressedBackground}" />
            </Trigger>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="Background" 
                    Value="{StaticResource DisabledBackground}"></Setter>
            </Trigger>
        </Style.Triggers>
    </Style>

</ResourceDictionary>

Сори, что без коментов..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.