Panuon.WPF.UI 使用
安装与应用
1.通过Nuget 安装 Panuon.WPF.UI
2.修改 XMAM ,引用命名空间: xmlns:pu="clr-namespace:Panuon.WPF.UI;assembly=Panuon.WPF.UI"
然后把Window 改为 pu:WindowX
3.在.CS 中引用命名空间:using Panuon.WPF.UI;
同样,需要把基类Window 改为 WindowX,这样窗体基本为了Panuon 窗体
RingProgressBar 初试
这个控件是一个环形进度条,初看其样式平淡无奇,自定义控件也可以轻松实现,只不过该控件还是封装了很多样式,只需要修改几个属性便可实现很多效果。
1.Value 值,该进度条的值,中间包含一个TextBlock 用于显示,IsPercentVisible 用于控制是否显示该值,通过BorderBrush 控制环形颜色,(起初以为是个Ellipse Stroke不灵了),Minimum和Maxinum 控制最小和最大值
2.ShadowHelper 大部分控件这个框架都封装有对应的帮助类,即控件名+Helper, ShandowHelper.ShaodowDepth 阴影助手阴影深度
3.GeneratingPercentText事件,Value值发生改变时可以通过该事件处理
4.ProgressBar 系列控件助手ProgressBarHelper 常用属性:IsPercentVisible 是否显示百分比 IntertedForeground 前景进度条颜色 CornerRadius 圆角
示例:
Code
<pu:WindowX x:Class="Samples.Views.Examples.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="clr-namespace:Panuon.WPF.UI;assembly=Panuon.WPF.UI"
xmlns:local="clr-namespace:Samples.Views.Examples"
mc:Ignorable="d"
Title="Window1" Height="450" Width="800"
WindowStartupLocation="CenterScreen"
MaskBrush="#AA000000">
<pu:WindowX.Resources>
<Style x:Key="RingStandardProgressBarStyle"
TargetType="pu:RingProgressBar">
<Setter Property="Minimum" Value="0" />
<Setter Property="Maximum" Value="100" />
<Setter Property="Width" Value="170" />
<Setter Property="Height" Value="170" />
<Setter Property="FontSize" Value="20" />
<Setter Property="BorderThickness" Value="18" />
<Setter Property="BorderBrush" Value="#22FFFFFF" />
<Setter Property="BorderBrush" Value="#226CBCEA" />
<Setter Property="Foreground" Value="#6CBCEA" />
<Setter Property="IsPercentVisible" Value="True" />
<Setter Property="ShadowColor" Value="#6CBCEA" />
<Setter Property="pu:ShadowHelper.ShadowDepth" Value="5" />
<Setter Property="pu:ShadowHelper.BlurRadius" Value="15" />
</Style>
</pu:WindowX.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="220"/>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<pu:RingProgressBar x:Name="rpb" Grid.Row="0" Grid.Column="0" Width="200" Height="200"
Style="{StaticResource RingStandardProgressBarStyle}"
Margin="0,20,0,0"
Value="70"
GeneratingPercentText="RingProgressBar_GeneratingPercentText"
/>
</Grid>
</pu:WindowX>
效果