WPF如何实现能自由改变形状的四边形和六边形

免费教程   2024年05月09日 10:30  

本文小编为大家详细介绍“WPF如何实现能自由改变形状的四边形和六边形”,内容详细,步骤清晰,细节处理妥当,希望这篇“WPF如何实现能自由改变形状的四边形和六边形”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

效果图

实现步骤

程序的C#部分,使用简单的三角函数实现正六边形的确定

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usingSystem.Windows.Input;usingSystem.Windows.Media;usingSystem.Windows.Media.Imaging;usingSystem.Windows.Navigation;usingSystem.Windows.Shapes;namespacepath{///<summary>///InteractionlogicforMainWindow.xaml///</summary>publicpartialclassMainWindow:Window{publicMainWindow(){InitializeComponent();LineSegmentline1=newLineSegment(newPoint(0.5+0.5*Math.Cos(Math.PI/6),0.5+0.5*Math.Cos(Math.PI/3)),true);LineSegmentline2=newLineSegment(newPoint(0.5+0.5*Math.Cos(Math.PI/6),0.5-0.5*Math.Cos(Math.PI/3)),true);PathFigurefigure1=newPathFigure();figure1.StartPoint=newPoint(0.5-0.5*Math.Cos(Math.PI/6),0.5-0.5*Math.Cos(Math.PI/3));figure1.Segments.Add(line1);PathFigurefigure2=newPathFigure();figure2.StartPoint=newPoint(0.5-0.5*Math.Cos(Math.PI/6),0.5+0.5*Math.Cos(Math.PI/3));figure2.Segments.Add(line2);PathGeometrypath2=newPathGeometry();path2.Figures.Add(figure1);PathGeometrypath3=newPathGeometry();path3.Figures.Add(figure2);x1.Geometry=path2;x2.Geometry=path3;}privatevoidSlider1_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry();}privatevoidSlider2_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry();}privatevoidSlider3_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry();}privatevoidSlider4_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry();}privatevoidChangeGeometry(){LineSegmentl1=newLineSegment(newPoint(0.5,(100-s1.Value)/200),true);LineSegmentl2=newLineSegment(newPoint((100-s3.Value)/200,0.5),true);LineSegmentl3=newLineSegment(newPoint(0.5,(100+s2.Value)/200),true);LineSegmentl4=newLineSegment(newPoint((100+s4.Value)/200,0.5),true);PathFigurepathFigure=newPathFigure();pathFigure.StartPoint=newPoint(0.5,(100-s1.Value)/200);pathFigure.Segments.Add(l2);pathFigure.Segments.Add(l3);pathFigure.Segments.Add(l4);pathFigure.Segments.Add(l1);PathGeometrypathGeometry=newPathGeometry();pathGeometry.Figures.Add(pathFigure);gd.Geometry=pathGeometry;gd.Pen=newPen(newSolidColorBrush(Colors.Black),0.005);}privatevoidSlider61_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry6();}privatevoidSlider62_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry6();}privatevoidSlider63_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry6();}privatevoidSlider64_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry6();}privatevoidSlider65_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry6();}privatevoidSlider66_ValueChanged(objectsender,RoutedPropertyChangedEventArgs<double>e){ChangeGeometry6();}privatevoidChangeGeometry6(){LineSegmentl1=newLineSegment(newPoint(0.5,(100-s61.Value)/200),true);LineSegmentl2=newLineSegment(newPoint(s62.Value*Math.Cos(Math.PI/6)/200+0.5,0.5-s62.Value*Math.Cos(Math.PI/3)/200),true);LineSegmentl3=newLineSegment(newPoint(s63.Value*Math.Cos(Math.PI/6)/200+0.5,0.5+s63.Value*Math.Cos(Math.PI/3)/200),true);LineSegmentl4=newLineSegment(newPoint(0.5,(100+s64.Value)/200),true);LineSegmentl5=newLineSegment(newPoint(0.5-s65.Value*Math.Cos(Math.PI/6)/200,0.5+s65.Value*Math.Cos(Math.PI/3)/200),true);LineSegmentl6=newLineSegment(newPoint(0.5-s66.Value*Math.Cos(Math.PI/6)/200,0.5-s66.Value*Math.Cos(Math.PI/3)/200),true);PathFigurepathFigure=newPathFigure();pathFigure.StartPoint=newPoint(0.5,(100-s61.Value)/200);pathFigure.Segments.Add(l2);pathFigure.Segments.Add(l3);pathFigure.Segments.Add(l4);pathFigure.Segments.Add(l5);pathFigure.Segments.Add(l6);pathFigure.Segments.Add(l1);PathGeometrypathGeometry=newPathGeometry();pathGeometry.Figures.Add(pathFigure);gd6.Geometry=pathGeometry;gd6.Pen=newPen(newSolidColorBrush(Colors.Black),0.005);}}}

C#的xaml部分

<Windowx:Class="path.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:path"mc:Ignorable="d"Title="MainWindow"Height="500"Width="500"><Window.Resources><!--自定义slider--><Stylex:Key="RepeatButtonLeftTransparent"TargetType="{x:TypeRepeatButton}"><SetterProperty="OverridesDefaultStyle"Value="true"/><SetterProperty="Focusable"Value="false"/><SetterProperty="IsTabStop"Value="false"/><SetterProperty="Template"><Setter.Value><ControlTemplateTargetType="{x:TypeRepeatButton}"><BorderBackground="RoyalBlue"Height="4"/></ControlTemplate></Setter.Value></Setter></Style><Stylex:Key="RepeatButtonRightTransparent"TargetType="{x:TypeRepeatButton}"><SetterProperty="OverridesDefaultStyle"Value="true"/><SetterProperty="Focusable"Value="false"/><SetterProperty="IsTabStop"Value="false"/><SetterProperty="Template"><Setter.Value><ControlTemplateTargetType="{x:TypeRepeatButton}"><BorderBackground="Transparent"Height="4"/></ControlTemplate></Setter.Value></Setter></Style><SolidColorBrushx:Key="SliderThumb.Static.Background"Color="#FFF0F0F0"/><SolidColorBrushx:Key="SliderThumb.Static.Border"Color="#FFACACAC"/><SolidColorBrushx:Key="SliderThumb.Static.Foreground"Color="#FFE5E5E5"/><SolidColorBrushx:Key="SliderThumb.MouseOver.Background"Color="#FFDCECFC"/><SolidColorBrushx:Key="SliderThumb.MouseOver.Border"Color="#FF7Eb4EA"/><SolidColorBrushx:Key="SliderThumb.Pressed.Background"Color="#FFDAECFC"/><SolidColorBrushx:Key="SliderThumb.Pressed.Border"Color="#FF569DE5"/><SolidColorBrushx:Key="SliderThumb.Disabled.Background"Color="#FFF0F0F0"/><SolidColorBrushx:Key="SliderThumb.Disabled.Border"Color="#FFD9D9D9"/><SolidColorBrushx:Key="SliderThumb.Track.Background"Color="#FFE7EAEA"/><SolidColorBrushx:Key="SliderThumb.Track.Border"Color="#FFD6D6D6"/><ControlTemplatex:Key="SliderThumbHorizontalDefault"TargetType="{x:TypeThumb}"><GridHorizontalAlignment="Center"UseLayoutRounding="True"VerticalAlignment="Center"><EllipseWidth="12"Height="12"StrokeThickness="1"Fill="White"><Ellipse.Effect><DropShadowEffectShadowDepth="0"Color="LightGray"BlurRadius="4"/></Ellipse.Effect></Ellipse></Grid><ControlTemplate.Triggers><TriggerProperty="IsMouseOver"Value="True"><SetterProperty="Effect"><Setter.Value><DropShadowEffectShadowDepth="0"Color="Gray"BlurRadius="4"/></Setter.Value></Setter><SetterProperty="Cursor"Value="Hand"/></Trigger></ControlTemplate.Triggers></ControlTemplate><ControlTemplatex:Key="SliderThumbHorizontalTop"TargetType="{x:TypeThumb}"><GridHorizontalAlignment="Center"UseLayoutRounding="True"VerticalAlignment="Center"><Pathx:Name="grip"Data="M0,6C0,65.5,05.5,05.5,011,611,611,611,1811,1811,180,180,180,180,60,6z"Fill="{StaticResourceSliderThumb.Static.Background}"Stroke="{StaticResourceSliderThumb.Static.Border}"SnapsToDevicePixels="True"Stretch="Fill"StrokeThickness="1"UseLayoutRounding="True"VerticalAlignment="Center"/></Grid><ControlTemplate.Triggers><TriggerProperty="IsMouseOver"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Border}"/></Trigger><TriggerProperty="IsDragging"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Border}"/></Trigger><TriggerProperty="IsEnabled"Value="false"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Border}"/></Trigger></ControlTemplate.Triggers></ControlTemplate><ControlTemplatex:Key="SliderThumbHorizontalBottom"TargetType="{x:TypeThumb}"><GridHorizontalAlignment="Center"UseLayoutRounding="True"VerticalAlignment="Center"><Pathx:Name="grip"Data="M0,12C0,125.5,185.5,185.5,1811,1211,1211,1211,011,011,00,00,00,00,120,12z"Fill="{StaticResourceSliderThumb.Static.Background}"Stroke="{StaticResourceSliderThumb.Static.Border}"SnapsToDevicePixels="True"Stretch="Fill"StrokeThickness="1"UseLayoutRounding="True"VerticalAlignment="Center"/></Grid><ControlTemplate.Triggers><TriggerProperty="IsMouseOver"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Border}"/></Trigger><TriggerProperty="IsDragging"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Border}"/></Trigger><TriggerProperty="IsEnabled"Value="false"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Border}"/></Trigger></ControlTemplate.Triggers></ControlTemplate><ControlTemplatex:Key="SliderHorizontal"TargetType="{x:TypeSlider}"><Borderx:Name="border"Background="{TemplateBindingBackground}"BorderBrush="{TemplateBindingBorderBrush}"BorderThickness="{TemplateBindingBorderThickness}"SnapsToDevicePixels="True"><Grid><Grid.RowDefinitions><RowDefinitionHeight="Auto"/><RowDefinitionHeight="Auto"MinHeight="{TemplateBindingMinHeight}"/><RowDefinitionHeight="Auto"/></Grid.RowDefinitions><TickBarx:Name="TopTick"Fill="{TemplateBindingForeground}"Height="4"Margin="0,0,0,2"Placement="Top"Grid.Row="0"Visibility="Collapsed"/><TickBarx:Name="BottomTick"Fill="{TemplateBindingForeground}"Height="4"Margin="0,2,0,0"Placement="Bottom"Grid.Row="2"Visibility="Collapsed"/><Borderx:Name="TrackBackground"Background="{StaticResourceSliderThumb.Track.Background}"BorderBrush="{StaticResourceSliderThumb.Track.Border}"BorderThickness="1"Height="4.0"Margin="5,0"Grid.Row="1"VerticalAlignment="center"><CanvasMargin="-6,-1"><Rectanglex:Name="PART_SelectionRange"Fill="{DynamicResource{x:StaticSystemColors.HighlightBrushKey}}"Height="4.0"Visibility="Hidden"/></Canvas></Border><Trackx:Name="PART_Track"Grid.Row="1"><Track.DecreaseRepeatButton><RepeatButtonCommand="{x:StaticSlider.DecreaseLarge}"Style="{StaticResourceRepeatButtonLeftTransparent}"/></Track.DecreaseRepeatButton><Track.IncreaseRepeatButton><RepeatButtonCommand="{x:StaticSlider.IncreaseLarge}"Style="{StaticResourceRepeatButtonRightTransparent}"/></Track.IncreaseRepeatButton><Track.Thumb><Thumbx:Name="Thumb"Focusable="False"Height="12"OverridesDefaultStyle="True"Template="{StaticResourceSliderThumbHorizontalDefault}"VerticalAlignment="Center"Width="12"/></Track.Thumb></Track></Grid></Border><ControlTemplate.Triggers><TriggerProperty="TickPlacement"Value="TopLeft"><SetterProperty="Visibility"TargetName="TopTick"Value="Visible"/><SetterProperty="Template"TargetName="Thumb"Value="{StaticResourceSliderThumbHorizontalTop}"/><SetterProperty="Margin"TargetName="TrackBackground"Value="5,2,5,0"/></Trigger><TriggerProperty="TickPlacement"Value="BottomRight"><SetterProperty="Visibility"TargetName="BottomTick"Value="Visible"/><SetterProperty="Template"TargetName="Thumb"Value="{StaticResourceSliderThumbHorizontalBottom}"/><SetterProperty="Margin"TargetName="TrackBackground"Value="5,0,5,2"/></Trigger><TriggerProperty="TickPlacement"Value="Both"><SetterProperty="Visibility"TargetName="TopTick"Value="Visible"/><SetterProperty="Visibility"TargetName="BottomTick"Value="Visible"/></Trigger><TriggerProperty="IsSelectionRangeEnabled"Value="true"><SetterProperty="Visibility"TargetName="PART_SelectionRange"Value="Visible"/></Trigger><TriggerProperty="IsKeyboardFocused"Value="true"><SetterProperty="Foreground"TargetName="Thumb"Value="Blue"/></Trigger></ControlTemplate.Triggers></ControlTemplate><ControlTemplatex:Key="SliderThumbVerticalDefault"TargetType="{x:TypeThumb}"><GridHorizontalAlignment="Center"UseLayoutRounding="True"VerticalAlignment="Center"><Pathx:Name="grip"Data="M0.5,0.5L18.5,0.518.5,11.50.5,11.5z"Fill="{StaticResourceSliderThumb.Static.Background}"Stroke="{StaticResourceSliderThumb.Static.Border}"Stretch="Fill"/></Grid><ControlTemplate.Triggers><TriggerProperty="IsMouseOver"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Border}"/></Trigger><TriggerProperty="IsDragging"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Border}"/></Trigger><TriggerProperty="IsEnabled"Value="false"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Border}"/></Trigger></ControlTemplate.Triggers></ControlTemplate><ControlTemplatex:Key="SliderThumbVerticalLeft"TargetType="{x:TypeThumb}"><GridHorizontalAlignment="Center"UseLayoutRounding="True"VerticalAlignment="Center"><Pathx:Name="grip"Data="M6,11C6,110,5.50,5.50,5.56,06,06,018,018,018,018,1118,1118,116,116,11z"Fill="{StaticResourceSliderThumb.Static.Background}"Stroke="{StaticResourceSliderThumb.Static.Border}"Stretch="Fill"/></Grid><ControlTemplate.Triggers><TriggerProperty="IsMouseOver"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Border}"/></Trigger><TriggerProperty="IsDragging"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Border}"/></Trigger><TriggerProperty="IsEnabled"Value="false"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Border}"/></Trigger></ControlTemplate.Triggers></ControlTemplate><ControlTemplatex:Key="SliderThumbVerticalRight"TargetType="{x:TypeThumb}"><GridHorizontalAlignment="Center"UseLayoutRounding="True"VerticalAlignment="Center"><Pathx:Name="grip"Data="M12,11C12,1118,5.518,5.518,5.512,012,012,00,00,00,00,110,110,1112,1112,11z"Fill="{StaticResourceSliderThumb.Static.Background}"Stroke="{StaticResourceSliderThumb.Static.Border}"Stretch="Fill"/></Grid><ControlTemplate.Triggers><TriggerProperty="IsMouseOver"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.MouseOver.Border}"/></Trigger><TriggerProperty="IsDragging"Value="true"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Pressed.Border}"/></Trigger><TriggerProperty="IsEnabled"Value="false"><SetterProperty="Fill"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Background}"/><SetterProperty="Stroke"TargetName="grip"Value="{StaticResourceSliderThumb.Disabled.Border}"/></Trigger></ControlTemplate.Triggers></ControlTemplate><ControlTemplatex:Key="SliderVertical"TargetType="{x:TypeSlider}"><Borderx:Name="border"Background="{TemplateBindingBackground}"BorderBrush="{TemplateBindingBorderBrush}"BorderThickness="{TemplateBindingBorderThickness}"SnapsToDevicePixels="True"><Grid><Grid.ColumnDefinitions><ColumnDefinitionWidth="Auto"/><ColumnDefinitionMinWidth="{TemplateBindingMinWidth}"Width="Auto"/><ColumnDefinitionWidth="Auto"/></Grid.ColumnDefinitions><TickBarx:Name="TopTick"Grid.Column="0"Fill="{TemplateBindingForeground}"Margin="0,0,2,0"Placement="Left"Visibility="Collapsed"Width="4"/><TickBarx:Name="BottomTick"Grid.Column="2"Fill="{TemplateBindingForeground}"Margin="2,0,0,0"Placement="Right"Visibility="Collapsed"Width="4"/><Borderx:Name="TrackBackground"Background="{StaticResourceSliderThumb.Track.Background}"BorderBrush="{StaticResourceSliderThumb.Track.Border}"BorderThickness="1"Grid.Column="1"HorizontalAlignment="center"Margin="0,5"Width="4.0"><CanvasMargin="-1,-6"><Rectanglex:Name="PART_SelectionRange"Fill="{DynamicResource{x:StaticSystemColors.HighlightBrushKey}}"Visibility="Hidden"Width="4.0"/></Canvas></Border><Trackx:Name="PART_Track"Grid.Column="1"><Track.DecreaseRepeatButton><RepeatButtonCommand="{x:StaticSlider.DecreaseLarge}"Style="{StaticResourceRepeatButtonLeftTransparent}"/></Track.DecreaseRepeatButton><Track.IncreaseRepeatButton><RepeatButtonCommand="{x:StaticSlider.IncreaseLarge}"Style="{StaticResourceRepeatButtonRightTransparent}"/></Track.IncreaseRepeatButton><Track.Thumb><Thumbx:Name="Thumb"Focusable="False"Height="11"OverridesDefaultStyle="True"Template="{StaticResourceSliderThumbVerticalDefault}"VerticalAlignment="Top"Width="18"/></Track.Thumb></Track></Grid></Border><ControlTemplate.Triggers><TriggerProperty="TickPlacement"Value="TopLeft"><SetterProperty="Visibility"TargetName="TopTick"Value="Visible"/><SetterProperty="Template"TargetName="Thumb"Value="{StaticResourceSliderThumbVerticalLeft}"/><SetterProperty="Margin"TargetName="TrackBackground"Value="2,5,0,5"/></Trigger><TriggerProperty="TickPlacement"Value="BottomRight"><SetterProperty="Visibility"TargetName="BottomTick"Value="Visible"/><SetterProperty="Template"TargetName="Thumb"Value="{StaticResourceSliderThumbVerticalRight}"/><SetterProperty="Margin"TargetName="TrackBackground"Value="0,5,2,5"/></Trigger><TriggerProperty="TickPlacement"Value="Both"><SetterProperty="Visibility"TargetName="TopTick"Value="Visible"/><SetterProperty="Visibility"TargetName="BottomTick"Value="Visible"/></Trigger><TriggerProperty="IsSelectionRangeEnabled"Value="true"><SetterProperty="Visibility"TargetName="PART_SelectionRange"Value="Visible"/></Trigger><TriggerProperty="IsKeyboardFocused"Value="true"><SetterProperty="Foreground"TargetName="Thumb"Value="Blue"/></Trigger></ControlTemplate.Triggers></ControlTemplate><Stylex:Key="SliderStyle1"TargetType="{x:TypeSlider}"><SetterProperty="Stylus.IsPressAndHoldEnabled"Value="false"/><SetterProperty="Background"Value="Transparent"/><SetterProperty="BorderBrush"Value="Transparent"/><SetterProperty="Foreground"Value="{StaticResourceSliderThumb.Static.Foreground}"/><SetterProperty="Template"Value="{StaticResourceSliderHorizontal}"/><Style.Triggers><TriggerProperty="Orientation"Value="Vertical"><SetterProperty="Template"Value="{StaticResourceSliderVertical}"/></Trigger></Style.Triggers></Style></Window.Resources><Grid><Grid.ColumnDefinitions><ColumnDefinitionWidth="1*"/><ColumnDefinitionWidth="1*"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinitionHeight="1*"/><RowDefinitionHeight="1*"/></Grid.RowDefinitions><CanvasWidth="200"Height="200"HorizontalAlignment="Left"VerticalAlignment="Top"><Canvas.Background><DrawingBrushViewport="0,0,1,1"TileMode="None"><DrawingBrush.Drawing><DrawingGroup><GeometryDrawingBrush="WhiteSmoke"Geometry="M0,00,11,11,0"/><GeometryDrawingBrush="Aqua"x:Name="gd"/><GeometryDrawingGeometry="M0,0.51,0.5"><GeometryDrawing.Pen><PenThickness="0.001"Brush="Gray"/></GeometryDrawing.Pen></GeometryDrawing><GeometryDrawingGeometry="M0.5,00.5,1"><GeometryDrawing.Pen><PenThickness="0.001"Brush="Gray"/></GeometryDrawing.Pen></GeometryDrawing></DrawingGroup></DrawingBrush.Drawing></DrawingBrush></Canvas.Background></Canvas><StackPanelOrientation="Vertical"Grid.Column="1"><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="Top"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s1"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider1_ValueChanged"/><TextBoxText="{BindingElementName=s1,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="Buttom"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s2"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider2_ValueChanged"/><TextBoxText="{BindingElementName=s2,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="Left"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s3"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider3_ValueChanged"/><TextBoxText="{BindingElementName=s3,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="Right"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s4"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider4_ValueChanged"/><TextBoxText="{BindingElementName=s4,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel></StackPanel><CanvasWidth="200"Height="200"HorizontalAlignment="Left"VerticalAlignment="Top"Grid.Row="1"><Canvas.Background><DrawingBrushViewport="0,0,1,1"TileMode="None"><DrawingBrush.Drawing><DrawingGroup><GeometryDrawingBrush="WhiteSmoke"Geometry="M0.5,0A0.5,0.5180110.5,1A0.5,0.5180010.5,0ZM0.5,0.1A0.4,0.4180110.5,0.9A0.4,0.4180010.5,0.1M0.5,0.2A0.3,0.3180110.5,0.8A0.3,0.3180010.5,0.2M0.5,0.3A0.2,0.2180110.5,0.7A0.2,0.2180010.5,0.3M0.5,0.4A0.1,0.1180110.5,0.6A0.1,0.1180010.5,0.4"><GeometryDrawing.Pen><PenThickness="0.001"Brush="Gray"/></GeometryDrawing.Pen></GeometryDrawing><GeometryDrawingBrush="#8800FFFF"x:Name="gd6"/><GeometryDrawingGeometry="M0.5,00.5,1"><GeometryDrawing.Pen><PenThickness="0.001"Brush="Gray"/></GeometryDrawing.Pen></GeometryDrawing><GeometryDrawingx:Name="x1"><GeometryDrawing.Pen><PenThickness="0.001"Brush="Gray"/></GeometryDrawing.Pen></GeometryDrawing><GeometryDrawingx:Name="x2"><GeometryDrawing.Pen><PenThickness="0.001"Brush="Gray"/></GeometryDrawing.Pen></GeometryDrawing></DrawingGroup></DrawingBrush.Drawing></DrawingBrush></Canvas.Background></Canvas><StackPanelOrientation="Vertical"Grid.Row="1"Grid.Column="1"><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="上"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s61"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider61_ValueChanged"/><TextBoxText="{BindingElementName=s61,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="右上"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s62"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider62_ValueChanged"/><TextBoxText="{BindingElementName=s62,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="右下"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s63"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider63_ValueChanged"/><TextBoxText="{BindingElementName=s63,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="下"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s64"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider64_ValueChanged"/><TextBoxText="{BindingElementName=s64,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="左下"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s65"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider64_ValueChanged"/><TextBoxText="{BindingElementName=s65,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel><StackPanelOrientation="Horizontal"><LabelWidth="60"HorizontalContentAlignment="Right"Content="左上"/><SliderStyle="{DynamicResourceSliderStyle1}"x:Name="s66"Value="0"Width="100"Maximum="100"VerticalAlignment="Center"ValueChanged="Slider66_ValueChanged"/><TextBoxText="{BindingElementName=s66,Path=Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VerticalContentAlignment="Center"/></StackPanel></StackPanel></Grid></Window>

读到这里,这篇“WPF如何实现能自由改变形状的四边形和六边形”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部