WPF自定义仪表盘控件
闲来无事,分享一个仪表盘

源码: 直接复制代码即可运行,=。=!
<Window x:Class="TGP.InstrumentationDemo.MainWindow"
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:local="clr-namespace:TGP.InstrumentationDemo"
mc:Ignorable="d"
Title="MainWindow" Height="" Width="" Icon="logo-icon.png">
<Window.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="微软雅黑"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Foreground" Value="Honeydew"/>
<Setter Property="FontSize" Value=""/> </Style>
</Window.Resources>
<Grid>
<Grid Width="" Height="" HorizontalAlignment="Center" VerticalAlignment="Center" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height=""/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Width="" Height="" Grid.RowSpan="" Grid.ColumnSpan="">
<Grid.ColumnDefinitions>
<!--外圈-->
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height="" />
<RowDefinition Height=""/>
<RowDefinition Height="*"/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height="" />
<RowDefinition Height="*"/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
</Grid.RowDefinitions>
<Ellipse Stroke="#FF27A6E2" Grid.RowSpan="" Grid.ColumnSpan="" Margin="">
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="Black" Offset="0.1"/>
<GradientStop Color="Black" Offset="0.75"/>
<GradientStop Color="#FF3E3737" Offset="0.85"/>
<GradientStop Color="#FF353535" Offset="0.80"/>
<GradientStop Color="#FF787272" Offset="0.93"/>
<GradientStop Color="#FF303030" Offset=""/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Grid.Column="" Fill="White" Margin="" Grid.Row="" Grid.RowSpan="" Stroke="#FF27A6E2" Grid.ColumnSpan=""/>
<Ellipse Stroke="#FF27A6E2" Grid.Row="" d:LayoutOverrides="HorizontalAlignment" Grid.Column="" Grid.ColumnSpan="" Grid.RowSpan="" Margin="">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF363535" Offset=""/>
<GradientStop Color="#FF363535" Offset=""/>
<GradientStop Color="#FF3C3A3A" Offset="0.5"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Border Grid.Column="" Grid.ColumnSpan="">
<TextBlock TextWrapping="Wrap" Text="360°" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="" Grid.RowSpan="" Margin="1.201,0,0,0">
<TextBlock TextWrapping="Wrap" Text="270°" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Border Grid.Row="" Grid.ColumnSpan="" Grid.Column="">
<TextBlock TextWrapping="Wrap" Text="180°" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="" Grid.Column="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text="90°" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Rectangle Grid.Column="" Margin="0.062,0,0,-0.25" Grid.Row="" Stroke="White" Fill="White" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Grid.Row="" Stroke="White" Fill="White" Margin="0.062,0,0,-0.001" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Fill="White" Grid.Row="" Stroke="White" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Fill="White" Grid.Row="" Stroke="White" Margin="0.25,0,0,0" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Ellipse Grid.Column="" Grid.Row="" Grid.RowSpan="" Grid.ColumnSpan="">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF817B7B" Offset=""/>
<GradientStop Color="#FF977C7C" Offset=""/>
<GradientStop Color="#FF939090" Offset="0.584"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Grid.ColumnSpan="" Grid.Column="" Grid.Row="" Grid.RowSpan="" Stroke="#FF272727" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin">
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="White" Offset=""/>
<GradientStop Color="#FF343434" Offset=""/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Border Grid.Column="" Grid.Row="" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.ColumnSpan="" Width="" >
<TextBlock TextWrapping="Wrap" Text="N" Foreground="Red" Height="13.197" Width="8.48"/>
</Border>
<Border Grid.Column="" Grid.Row="" HorizontalAlignment="Center" VerticalAlignment="Center" Height="" Margin="0.618,0" Grid.RowSpan="" d:LayoutOverrides="LeftMargin, RightMargin" >
<TextBlock TextWrapping="Wrap" Text="W" RenderTransformOrigin="0.5,0.5" Height="13.197" Width="10.763">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Border Grid.Column="" Grid.Row="" HorizontalAlignment="Center" VerticalAlignment="Center" Height="" Grid.RowSpan="" Width="" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</Border.RenderTransform>
<TextBlock TextWrapping="Wrap" Text="E" Height="13.197" Width="5.717"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.ColumnSpan="">
<TextBlock TextWrapping="Wrap" Text="S" Height="13.197" Width="6.017"/>
</Border>
<Border Grid.ColumnSpan="" Grid.Column="" Grid.Row="">
<TextBlock TextWrapping="Wrap" Text="北" Width="" VerticalAlignment="Bottom"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="" Height="30.098" Margin="0,1.902,0,0">
<TextBlock TextWrapping="Wrap" Text="西" Width="" VerticalAlignment="Center" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5" Margin=""/>
</Border>
<Border Grid.ColumnSpan="" Grid.Column="" Grid.Row="" Width="28.5">
<TextBlock TextWrapping="Wrap" Text="南" VerticalAlignment="Top" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text="东" Height="13.197" Width="" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center"/> </Border>
</Grid>
<Grid Width="" Height="" RenderTransformOrigin="0.5,0.5" Grid.RowSpan="" Grid.ColumnSpan="">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="22.5"/>
<TranslateTransform/>
</TransformGroup>
</Grid.RenderTransform>
<Grid.ColumnDefinitions>
<!--外圈-->
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height="" />
<RowDefinition Height=""/>
<RowDefinition Height="*"/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height="" />
<RowDefinition Height="*"/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
</Grid.RowDefinitions>
<Border Grid.Column="" Grid.ColumnSpan="">
<TextBlock TextWrapping="Wrap" Text="22.5°" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="" Grid.RowSpan="" Margin="1.201,0,0,0">
<TextBlock TextWrapping="Wrap" Text="292.5°" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="-5,0">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Border Grid.Row="" Grid.ColumnSpan="" Grid.Column="">
<TextBlock TextWrapping="Wrap" Text="202.5°" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="" Grid.Column="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text="112.5°" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="-5,0">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Rectangle Grid.Column="" Margin="0.062,0,0,-0.25" Grid.Row="" Stroke="White" Fill="White" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Grid.Row="" Stroke="White" Fill="White" Margin="0.062,0,0,-0.001" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Fill="White" Grid.Row="" Stroke="White" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Fill="White" Grid.Row="" Stroke="White" Margin="0.25,0,0,0" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Border Grid.Column="" Grid.Row="" Grid.ColumnSpan="" >
<TextBlock TextWrapping="Wrap" Text="NNE" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Column="" Grid.Row="" Margin="0,-8,-14,-10" Grid.RowSpan="" Grid.ColumnSpan="" >
<TextBlock TextWrapping="Wrap" Text="WNW" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="" RenderTransformOrigin="0.5,0.5" Grid.ColumnSpan="" Margin="-3.867,-0.263,1.161,0.263">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</Border.RenderTransform>
<TextBlock TextWrapping="Wrap" Text="ESE" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Margin="-7.493,-10.331,-7.507,0.331" Grid.Column="" Grid.Row="" Grid.ColumnSpan="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text="SSW" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.ColumnSpan="" Grid.Column="" Grid.Row="" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock TextWrapping="Wrap" Text="北 东 北" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="" Height="30.098" Margin="0,1.902,0,0">
<TextBlock TextWrapping="Wrap" Text="西 西 北 " RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Right" VerticalAlignment="Center"/>
</Border>
<Border Grid.ColumnSpan="" Grid.Column="" Grid.Row="" Width="28.5">
<TextBlock TextWrapping="Wrap" Text="南 西 南" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text=" 东 东 南" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center"/> </Border> </Grid>
<Grid Width="" Height="" RenderTransformOrigin="0.5,0.5" Grid.RowSpan="" Grid.ColumnSpan="">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</Grid.RenderTransform>
<Grid.ColumnDefinitions>
<!--外圈-->
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height="" />
<RowDefinition Height=""/>
<RowDefinition Height="*"/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height="" />
<RowDefinition Height="*"/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
</Grid.RowDefinitions>
<Border Grid.Column="" Grid.ColumnSpan="">
<TextBlock TextWrapping="Wrap" Text="45°" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="" Grid.RowSpan="" Margin="1.201,0,0,0">
<TextBlock TextWrapping="Wrap" Text="315°" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Border Grid.Row="" Grid.ColumnSpan="" Grid.Column="">
<TextBlock TextWrapping="Wrap" Text="225°" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="" Grid.Column="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text="135°" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Rectangle Grid.Column="" Margin="0.062,0,0,-0.25" Grid.Row="" Stroke="White" Fill="White" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Grid.Row="" Stroke="White" Fill="White" Margin="0.062,0,0,-0.001" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Fill="White" Grid.Row="" Stroke="White" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Fill="White" Grid.Row="" Stroke="White" Margin="0.25,0,0,0" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Border Grid.Column="" Grid.Row="" Grid.ColumnSpan="" >
<TextBlock TextWrapping="Wrap" Text="NE" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="" Margin="-3,-8,-10,-10">
<TextBlock TextWrapping="Wrap" Text="NW" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="" RenderTransformOrigin="0.5,0.5" Margin="-3.182,0.589,-1.818,-0.589">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</Border.RenderTransform>
<TextBlock TextWrapping="Wrap" Text="SE" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Margin="-6.513,-9.002,-8.487,-0.998" Grid.Column="" Grid.Row="" Grid.ColumnSpan="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text="SW" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.ColumnSpan="" Grid.Column="" Grid.Row="">
<TextBlock TextWrapping="Wrap" Text="东 北" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="" Height="30.098" Margin="0,1.902,0,0">
<TextBlock TextWrapping="Wrap" Text="西 北 " VerticalAlignment="Center" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5"/>
</Border>
<Border Grid.ColumnSpan="" Grid.Column="" Grid.Row="" Width="28.5">
<TextBlock TextWrapping="Wrap" Text="西 南" VerticalAlignment="Top" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text=" 东 南" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center"/> </Border> </Grid>
<Grid Width="" Height="" RenderTransformOrigin="0.5,0.5" Grid.RowSpan="" Grid.ColumnSpan="">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="67.5"/>
<TranslateTransform/>
</TransformGroup>
</Grid.RenderTransform>
<Grid.ColumnDefinitions>
<!--外圈-->
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
<ColumnDefinition Width=""/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height="" />
<RowDefinition Height=""/>
<RowDefinition Height="*"/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height="" />
<RowDefinition Height="*"/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
<RowDefinition Height=""/>
</Grid.RowDefinitions>
<Border Grid.Column="" Grid.ColumnSpan="">
<TextBlock TextWrapping="Wrap" Text="67.5°" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="" Grid.RowSpan="" Margin="1.201,0,0,0">
<TextBlock TextWrapping="Wrap" Text="337.5°" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="-5,0">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Border Grid.Row="" Grid.ColumnSpan="" Grid.Column="">
<TextBlock TextWrapping="Wrap" Text="247.5°" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="" Grid.Column="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text="157.5°" RenderTransformOrigin="0.5,0.5" VerticalAlignment="Center" Margin="-5,0" HorizontalAlignment="Center">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Rectangle Grid.Column="" Margin="0.062,0,0,-0.25" Grid.Row="" Stroke="White" Fill="White" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Grid.Row="" Stroke="White" Fill="White" Margin="0.062,0,0,-0.001" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Fill="White" Grid.Row="" Stroke="White" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Rectangle Grid.Column="" Fill="White" Grid.Row="" Stroke="White" Margin="0.25,0,0,0" d:LayoutOverrides="LeftMargin, RightMargin, TopMargin, BottomMargin"/>
<Border Grid.Column="" Grid.Row="" Grid.ColumnSpan="" >
<TextBlock TextWrapping="Wrap" Text="ENE" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.Row="" Margin="-3,-8,-10,-10" Grid.RowSpan="" Grid.ColumnSpan="" Grid.Column="" HorizontalAlignment="Center" VerticalAlignment="Center" >
<TextBlock TextWrapping="Wrap" Text="NNW" RenderTransformOrigin="0.5,0.5" d:LayoutOverrides="Height">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
<Border Margin="-6.075,4.789,1.315,5.21" Grid.Column="" Grid.Row="" Height="" Grid.RowSpan="" RenderTransformOrigin="0.5,0.5" Grid.ColumnSpan="">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</Border.RenderTransform>
<TextBlock TextWrapping="Wrap" Text="SSE" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Margin="-6.619,-12.909,-8.381,-2.091" Grid.Column="" Grid.Row="" Grid.ColumnSpan="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text="WSW" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border Grid.ColumnSpan="" Grid.Column="" Grid.Row="">
<TextBlock TextWrapping="Wrap" Text="东 东 北" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="" Height="30.098" Margin="0,1.902,0,0">
<TextBlock TextWrapping="Wrap" Text="北 西 北 " VerticalAlignment="Center" HorizontalAlignment="Right" RenderTransformOrigin="0.5,0.5"/>
</Border>
<Border Grid.ColumnSpan="" Grid.Column="" Grid.Row="" Width="28.5">
<TextBlock TextWrapping="Wrap" Text="西 西 南" VerticalAlignment="Top" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Column="" Grid.Row="" Grid.RowSpan="">
<TextBlock TextWrapping="Wrap" Text=" 南 东 南" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Border>
</Grid>
<Path x:Name="PathFillColor" Fill="#FFBF3232" Stretch="Fill" Data="M0,200 L20,50 L55,50 L80,200" RenderTransformOrigin="0.5,0.74" Margin="-0.585,63.417,-0.639,-28.409" Grid.RowSpan="" Grid.Column="" d:LayoutOverrides="HorizontalAlignment" >
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="{Binding ElementName=slider, Path=Value, Mode=OneWay}"/>
<TranslateTransform/>
</TransformGroup>
</Path.RenderTransform>
</Path>
<Ellipse Fill="#FFFFDBDB" Stroke="#FFFFDBDB" Grid.Row="" Grid.Column=""/>
</Grid>
<Slider x:Name="slider" Value="" Height="37.333" Margin="-51.945,112.948,0,0" Width="204.778" RenderTransformOrigin="0.5,0.5" Maximum="" HorizontalAlignment="Left" VerticalAlignment="Top">
<Slider.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle=""/>
<TranslateTransform/>
</TransformGroup>
</Slider.RenderTransform>
</Slider>
</Grid>
</Window>
WPF自定义仪表盘控件的更多相关文章
- WPF自定义分页控件,样式自定义,简单易用
WPF自定义分页控件 做了许久伸手党,终于有机会贡献一波,搜索一下WPF分页控件,还是多,但是不太通用,主要就是样式问题,这个WPF很好解决,还有一个就是分页控件嘛,只关心几个数字的变动就行了,把页码 ...
- 浅尝辄止WPF自定义用户控件(实现颜色调制器)
主要利用用户控件实现一个自定义的颜色调制控件,实现一个小小的功能,具体实现界面如下. 首先自己新建一个wpf的用户控件类,我就放在我的wpf项目的一个文件夹下面,因为是一个很小的东西,所以就没有用mv ...
- WPF 自定义Button控件及样式
这次通过最近做的小例子说明一下自定义Button控件和样式. 实现的效果为:
- 继续聊WPF——自定义CheckBox控件外观
上一篇文章中谈到了BulletDecorator控件,就是为自定义CheckBox控件的模板做准备,因为CheckBox需要比较严格的布局,正好,BulletDecorator控件就合适了,该控件的布 ...
- WPF Dashboard仪表盘控件的实现
1.确定控件应该继承的基类 从表面上看,目前WPF自带常用控件中,没有一个是接近这个表盘控件的,但将该控件拆分就能够发现,该控件的每个子部分都是在WPF中存在的,因此我们需要将各个子控件组合才能形成这 ...
- wpf 自定义RadioButton控件样式
实现的效果为: 我感觉来自定义RadioButton样式和定义button空间的样式差不多,只是类型不同而已. 接下来分析一下样式代码: <!--自定义单选按钮样式--> & ...
- WPF 自定义TabControl控件样式
一.前言 程序中经常会用到TabControl控件,默认的控件样式很普通.而且样式或功能不一定符合我们的要求.比如:我们需要TabControl的标题能够居中.或平均分布:或者我们希望TabContr ...
- WPF自定义用户控件不显示
1,Themes\Generic.xaml最好不要更名 "Generic.xaml"这个名称并非偶然通过上面的叙述,你可能会有冲动将Generic.xaml中的Style代码剪切出 ...
- WPF自定义动画控件 风机
一:创建WPF项目 二:在项目下添加文件Themes,在此文件下添加新项 ”资源词典“取名为 Generic.xaml 注意大小写,之前遇到因为大小写不对应,导致出错的情况Generic.xam ...
随机推荐
- MySQL物理备份 xtrabackup
MySQL 备份之 xtrabackup | innobackupex Xtrabackup 介绍 Xtrabackup 是一个对 InnoDB 做数据备份的工具,支持在线热备份(备份时不影响数据读写 ...
- BZOJ bzoj1396 识别子串
题面: bzoj1396 题解: 先建出SAM,并计算right集合大小.显然符合条件的点的right集合大小为1. 对于每个right集合为1的状态显然可以算出这些状态的pos以及maxlen和mi ...
- 关于objdump的博文整理
objdump主要用于查看对象文件的内容信息 objdump一些基本命令:http://www.169it.com/article/330129798173630299.html 使用readelf和 ...
- (转)Java并发包基石-AQS详解
背景:之前在研究多线程的时候,模模糊糊知道AQS这个东西,但是对于其内部是如何实现,以及具体应用不是很理解,还自认为多线程已经学习的很到位了,贻笑大方. Java并发包基石-AQS详解Java并发包( ...
- TensorFlow 辨异 —— tf.placeholder 与 tf.Variable
https://blog.csdn.net/lanchunhui/article/details/61712830 https://www.cnblogs.com/silence-tommy/p/70 ...
- 快速找出网站中可能存在的XSS漏洞实践
笔者写了一些XSS漏洞的挖掘过程记录下来,方便自己也方便他人. 一.背景 在本篇文章当中会一permeate生态测试系统为例,笔者此前写过一篇文章当中笔者已经讲解如何安装permeate渗透测试系统, ...
- 010-2 Socket套接字类型
ocket套接字类型 成员名称 说明 Dgram 支持数据报,即为固定 (通常很小) 的最大长度的无连接的. 不可靠的消息. 消息可能会丢失或重复,并且可能不按顺序抵达. 一个 Socket 类型的 ...
- JavaScript数据类型 正则表达式RegExp类型
前言 上一篇文章已经介绍了正则表达式的基础语法.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换.本文将 ...
- 2、搭建一个简单的Web项目
一.创建一个Web项目: 1.File->new Project->Java->JavaEE->Web Application 2.为项目起名: 3.配置项目:在项目上击右键- ...
- 模拟stringBeanFactory解析xml
思路:根据源码分析,将配置Bean类信息存放到xml文件中,通过解析xml, 然后反射拿到对象 存放到集合中 这里选择hashmap(键放置类名,值放置对象)存放,使用时使用get方法通过键(类名)拿 ...