WPF C#中多边形polygon是怎么定义的,我想将三角形继承为按钮button, 怎么办呢?
1个回答
展开全部
你的思路错了。
UI层面,各个控件可以有各种不同的形状,但是微软替你把方法都封装好了,比如下拉菜单是ComboBox ,按钮是Button。
这些控件的功能才是你需要继承的。
所以要实现“三角形的按钮”,你需要的是把一个Button的外观弄成三角形,而不是画一个三角形,然后自己去实现Button的功能(当然硬要这么做也可以,但是工作量很大,而且会有很多问题)
WPF中的Style:
<Button Width="100" Height="30" HorizontalAlignment="Right"
VerticalAlignment="Bottom" Content="Button1"
Template="{DynamicResource ButtonControlTemplate1}"
Cursor="Hand" Margin="0,0,5,2">
<Button.Resources>
<ControlTemplate x:Key="ButtonControlTemplate1" TargetType="{x:Type Button}">
<Grid x:Name="gd" Background="Transparent">
<TextBlock VerticalAlignment="Top" Text="{TemplateBinding Content}" Foreground="Red" HorizontalAlignment="Center"/>
<Polygon x:Name="ButtonPolygon" Stretch="Fill" Points="0,50,600,50 290,100" Stroke="White" StrokeThickness="0">
<Polygon.Fill>
<SolidColorBrush Color="Gray" Opacity="0.5"/>
</Polygon.Fill>
</Polygon>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="ButtonPolygon" Property="Fill" Value="DarkGray"></Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="ButtonPolygon" Property="Fill" Value="LightGray"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Resources>
</Button>
追问
是在style中加您写的东西吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询