WPF属性触发器的好用之处

来源:互联网 时间:1970-01-01


1.WPF如何实现下面的功能

2.下面就是利用属性触发器实现(如果不懂可以看看《WPF高级编程》这本书)

 <!--给编辑资料添加属性触发器,字体颜色变色,提醒用户可以点击--> <ControlTemplate x:Key="foregroundTem" TargetType="{x:Type Label}"> <ControlTemplate.Triggers> <!--鼠标进入时改变属性,离开后恢复原来的属性值--> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Foreground" Value="#FF105865"></Setter> <!--如果进入label区域变成鼠标变成手的形状--> <Setter Property="Cursor" Value="Hand"></Setter> </Trigger> </ControlTemplate.Triggers> <ContentPresenter HorizontalAlignment="Center"></ContentPresenter> </ControlTemplate> <Style x:Key="foregroundStyle" TargetType="{x:Type Label}"> <Setter Property="Template" Value="{StaticResource foregroundTem}"> </Setter> </Style>
3.如果针对一个这种情况你可能会使用MouseEnter和MouseLeave两个事件,但是如果这种情况多的话,差不多相同的重复写,还有你可以多个Label共同作用这两个事件,这样也确实变的简单了,但是你利用属性触发器代码变得就会变得更清晰和更优美

//利用这两个事件实现上图简单的功能 private void label1_MouseEnter(object sender, MouseEventArgs e) { label1.Foreground = Brushes.Blue; //将鼠标指针变成手的形状 label1.Cursor = Cursors.Hand; } private void label1_MouseLeave(object sender, MouseEventArgs e) { label1.Foreground = Brushes.Black; }






相关阅读:
Top