章节前言
打开软件加载数据的过程,希望界面上能体现,完成这项功能,也算完美了。没做成很大的提示框,就弄了个小东西一直转,加载完毕即消失
Style.Triggers
一开始接触WPF 多少有点抵触,以为就和html+css 一样,又要学习重复的东西只是标签不同罢了,但深入学习后,它真的很厉害,除了样式、重写控件,很多逻辑可以在界面直接处理。例如咱们的加载效果,加载完后隐藏
定义,一个 Sylte key是 LoadShow,作用于 StackPanel
<Window.Resources>
<Style x:Key="LoadShow" TargetType="StackPanel">
<Style.Triggers>
<DataTrigger Binding="{Binding Uid,RelativeSource={RelativeSource Self}}" Value="True">
<Setter Property="Visibility" Value="Hidden"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Uid,RelativeSource={RelativeSource Self}}" Value="False">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
引入,在UI代码中引用
<StackPanel Margin="0,-40,0,0" Orientation="Horizontal" VerticalAlignment="Top" Height="30" Uid="{Binding LoadStatus}" Style="{StaticResource LoadShow}" >
<hc:CircleProgressBar IsIndeterminate="True" Margin="16,0,0,0" Width="20" Height="20" ArcThickness="2" Style="{StaticResource ProgressBarSuccessCircle}"/>
<Label Content="{Binding LoadInfo}" Background="Transparent" BorderThickness="0" FontSize="12"></Label>
</StackPanel>
当后台 属性值有变化时,自动触发 Triggers ,变更 Visibility 属性值
好了,这次迭代完结 ,使用体验上好很多,哈哈
宝妈说暴风影音老是弹广告,希望改改用 爱奇艺万能联播 这........................以后再说
最后看看效果
源码地址
来自宝妈的需求 一仔播放器 WPF 开源项目: 宝妈的需求“一仔播放器” WPF 的开源项目 HandyControl、MwvmLight