C# 在WPF中创建曲线控件
在WPF中是否可以创建如下所示的控件(例如按钮)C# 在WPF中创建曲线控件,c#,wpf,C#,Wpf,在WPF中是否可以创建如下所示的控件(例如按钮) 实际上,我想画4个按钮,使它们定位为一个圆 下面的XAML可能会让您大致了解如何从按钮模板中的路径开始。然而,它忽略了一些基本的东西,比如鼠标悬停和按下状态的视觉反馈 <Grid> <Grid.Resources> <StreamGeometry x:Key="SegmentGeometry">M 5,0 A 10,10 0 0 0 15,10 L 15,15 A 15,15 0 0
实际上,我想画4个按钮,使它们定位为一个圆 下面的XAML可能会让您大致了解如何从按钮模板中的路径开始。然而,它忽略了一些基本的东西,比如鼠标悬停和按下状态的视觉反馈
<Grid>
<Grid.Resources>
<StreamGeometry x:Key="SegmentGeometry">M 5,0 A 10,10 0 0 0 15,10 L 15,15 A 15,15 0 0 1 0,0 Z</StreamGeometry>
<ControlTemplate x:Key="ButtonTemplate">
<Viewbox>
<Path Fill="Transparent" Stroke="Black" StrokeThickness="1"
Data="{StaticResource SegmentGeometry}"/>
</Viewbox>
</ControlTemplate>
<Style x:Key="ButtonStyle" TargetType="Button">
<Setter Property="Template" Value="{StaticResource ButtonTemplate}"/>
</Style>
</Grid.Resources>
<Button Width="100" Height="100" Style="{StaticResource ButtonStyle}">
<Button.LayoutTransform>
<RotateTransform Angle="135"/>
</Button.LayoutTransform>
</Button>
</Grid>
m5,0a10,10015,10l15,15a15,1501010,0z
以下XAML可能会让您大致了解如何从按钮模板中的路径开始。然而,它忽略了一些基本的东西,比如鼠标悬停和按下状态的视觉反馈
<Grid>
<Grid.Resources>
<StreamGeometry x:Key="SegmentGeometry">M 5,0 A 10,10 0 0 0 15,10 L 15,15 A 15,15 0 0 1 0,0 Z</StreamGeometry>
<ControlTemplate x:Key="ButtonTemplate">
<Viewbox>
<Path Fill="Transparent" Stroke="Black" StrokeThickness="1"
Data="{StaticResource SegmentGeometry}"/>
</Viewbox>
</ControlTemplate>
<Style x:Key="ButtonStyle" TargetType="Button">
<Setter Property="Template" Value="{StaticResource ButtonTemplate}"/>
</Style>
</Grid.Resources>
<Button Width="100" Height="100" Style="{StaticResource ButtonStyle}">
<Button.LayoutTransform>
<RotateTransform Angle="135"/>
</Button.LayoutTransform>
</Button>
</Grid>
m5,0a10,10015,10l15,15a15,1501010,0z
使用坐标/路径/几何体不是直截了当的。请尝试从Microsoft使用。它是一个类似于Photoshop的UI,但只适用于Xaml。使用坐标/路径/几何体并不是简单的。请尝试从Microsoft使用。这是一个类似Photoshop的用户界面,但仅适用于Xaml.:)这是可能的。你试过什么吗?你可以用a作为按钮的内容。还没有,因为我完全不知道如何开始。目前我只知道如何旋转和倾斜。你可以阅读。这是可能的。你试过什么吗?你可以用a作为按钮的内容。还没有,因为我完全不知道如何开始。目前我只知道如何旋转和倾斜。你可能会读到。是否有其他方法来定义图形,而不是“分段几何体”中设置的坐标,可能以更动态的方式将其封装在可伸缩控件中?当然有。从这里开始阅读:。是否有其他方法来定义图形而不是“SegmentGeometry”中设置的坐标,可能以更动态的方式将其封装在可伸缩控件中?当然有。从这里开始阅读:。