C# 圆框和按钮是分开的,为什么?
我试图使一个按钮变圆,但圆框不会影响按钮,它们在屏幕上成为两个独立的对象。我看不出我还缺少什么C# 圆框和按钮是分开的,为什么?,c#,wpf,xaml,button,C#,Wpf,Xaml,Button,我试图使一个按钮变圆,但圆框不会影响按钮,它们在屏幕上成为两个独立的对象。我看不出我还缺少什么 <ControlTemplate x:Key="BT_SIGN" TargetType="{x:Type Button}"> <Border x:Name="border" CornerRadius="8" BorderBrush="Black" BorderThickness="2"> <Grid Cursor="None" Ma
<ControlTemplate x:Key="BT_SIGN" TargetType="{x:Type Button}">
<Border x:Name="border" CornerRadius="8" BorderBrush="Black" BorderThickness="2">
<Grid Cursor="None" Margin="0,0,1.333,0">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="#FF1E8CF3" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<ContentPresenter />
</Grid>
</Border>
</ControlTemplate>
<Button
Grid.Column="3"
HorizontalAlignment="Left"
Height="44.8"
Width="75.2"
Margin="22.32,24.6,0,0"
VerticalAlignment="Top"
Template="{DynamicResource BT_SIGN}">
<Path Data="M0.5,0 L0.5,1 M0,0.5 L1,0.5"
StrokeThickness="4"
Stretch="Fill"
Stroke="White" Margin="12.667,2.4,14.133,2.133" RenderTransformOrigin="0.516,0.366" />
</Button>
您可以使用
不透明掩码来解决此问题:
<ControlTemplate x:Key="BT_SIGN" TargetType="{x:Type Button}">
<Border x:Name="border" CornerRadius="8" BorderBrush="Black" BorderThickness="2">
<Border.OpacityMask>
<VisualBrush>
<VisualBrush.Visual>
<Border
Background="Black"
SnapsToDevicePixels="True"
CornerRadius="{Binding CornerRadius, RelativeSource={RelativeSource FindAncestor, AncestorType=Border}}"
Width="{Binding ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType=Border}}"
Height="{Binding ActualHeight, RelativeSource={RelativeSource FindAncestor, AncestorType=Border}}"
/>
</VisualBrush.Visual>
</VisualBrush>
</Border.OpacityMask>
<Grid Cursor="None" Margin="0,0,1.333,0">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="#FF1E8CF3" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<ContentPresenter />
</Grid>
</Border>
</ControlTemplate>
有关更多建议,请参考以下类似问题: