WPF界面设计的小技巧

1. 如何像加亮Button一样加亮Border,Label等元素?

   当鼠标经过时候,元素加亮。实现要点:在"IsMouseOver"触发中,设置想要得到的效果。如:

 效果:

代码:

     <Window.Resources>
        <Style TargetType="{x:Type Border}">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="BorderBrush" Value="#FFF01414"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>
    <Grid>
        <WrapPanel>
            <Border Width="80" Height="80" BorderThickness="2" Background="Green" Margin="5"/>
            <Border Width="80" Height="80" BorderThickness="2" Background="Green" Margin="5"/>
            <Border Width="80" Height="80" BorderThickness="2" Background="Green" Margin="5"/>
            <Border Width="80" Height="80" BorderThickness="2" Background="Green" Margin="5"/>
            <Border Width="80" Height="80" BorderThickness="2" Background="Green" Margin="5"/>
            <Border Width="80" Height="80" BorderThickness="2" Background="Green" Margin="5"/>
            <Border Width="80" Height="80" BorderThickness="2" Background="Green" Margin="5"/>
            <Border Width="80" Height="80" BorderThickness="2" Background="Green" Margin="5"/>
            <Border Width="80" Height="80" BorderThickness="2" Background="Green" Margin="5"/>
        </WrapPanel>
    </Grid>

 

2. Style的结构框架:

 

       <Style TargetType="{x:Type Button}">
        <Setter Property="MinHeight" Value="50" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
         <Border>...</>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsEnabled"  Value="False">
            <Setter Property="Foreground" Value="#ADADAD"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

或者

    <Style x:Key="ZoomOutWhiteButtonStyle" TargetType="{x:Type Button}">

    ...
        <Setter Property="ContentTemplate" Value="{StaticResource DataTemplateWhiteZoomOut}"/>

       ...
    </Style.Triggers>

 

 

 

posted @ 2010-07-21 12:19  欲速则不达  阅读(313)  评论(0)    收藏  举报