C# WPF风格,用于将按钮切换为V形-如何去除恼人的细线
当我尝试用V字形设计切换按钮时,我无法摆脱令人讨厌的细线,这些细线可以在屏幕截图上看到 有人能帮忙吗 风格:C# WPF风格,用于将按钮切换为V形-如何去除恼人的细线,c#,wpf,xaml,C#,Wpf,Xaml,当我尝试用V字形设计切换按钮时,我无法摆脱令人讨厌的细线,这些细线可以在屏幕截图上看到 有人能帮忙吗 风格: <Style x:Key="ChevronButtonStyle" TargetType="{x:Type ToggleButton}" > <Setter Property="Margin" Value="2" /> <Setter Property="
<Style x:Key="ChevronButtonStyle" TargetType="{x:Type ToggleButton}" >
<Setter Property="Margin" Value="2" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<StackPanel Orientation="Horizontal" Margin="0,0,-10,0" Height="30" ClipToBounds="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Path Grid.Column="0" Name="ChevronLeft" Data="M0,0 10,0 10,30 0,30 10,15" Fill="{TemplateBinding Background}"/>
<Grid Grid.Column="1" >
<Rectangle Name="ChevronBack" Fill="{TemplateBinding Background}" Margin="0,0,0,0"/>
<TextBlock Grid.Column="2" Name="ChevronText" Text="{TemplateBinding Content}" Margin="10,5" VerticalAlignment="Center" />
</Grid>
<Path Grid.Column="2" Name="ChevronRight" Data="M0,0 10,15 0,30" Fill="{TemplateBinding Background}" />
</Grid>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="ChevronLeft" Property="Fill" Value="{StaticResource Petrol}" />
<Setter TargetName="ChevronBack" Property="Fill" Value="{StaticResource Petrol}" />
<Setter TargetName="ChevronRight" Property="Fill" Value="{StaticResource Petrol}" />
<Setter TargetName="ChevronText" Property="Foreground" Value="White" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="ChevronLeft" Property="Fill" Value="DarkGray" />
<Setter TargetName="ChevronBack" Property="Fill" Value="DarkGray" />
<Setter TargetName="ChevronRight" Property="Fill" Value="DarkGray" />
<Setter TargetName="ChevronText" Property="Foreground" Value="Black" />
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter TargetName="ChevronText" Property="Foreground" Value="Black" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
在父网格上设置
UseLayoutRounding
或SnapsToDevicePixels
时,这些工件应消失:
<Grid UseLayoutRounding="True">
或
我已将SnapsToDevicePixels=“True”添加到所有元素中,看起来好多了!谢谢你,伙计。你让我开心在父网格上设置它就足够了,因为子元素继承这两个属性的值。
<Grid SnapsToDevicePixels="True">