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>
浙公网安备 33010602011771号