Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF风格,用于将按钮切换为V形-如何去除恼人的细线_C#_Wpf_Xaml - Fatal编程技术网

C# WPF风格,用于将按钮切换为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="

当我尝试用V字形设计切换按钮时,我无法摆脱令人讨厌的细线,这些细线可以在屏幕截图上看到

有人能帮忙吗

风格:

<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">