c# - WPF中的一侧圆角按钮?
问题描述
在项目中,有两个相邻的按钮。该样式应使两个按钮的外侧在 WPF 中的圆角按钮中。这是按钮图像它们的外观
下面的解决方案 XAML 样式代码使两边都四舍五入。但我只需要圆形的外侧。
解决方案
谢谢伊夫。我正在提供完整的样式代码,以便有人可以将它用于相同的目的。
<Style x:Key="RoundCornerRightSelected" TargetType="{x:Type Button}">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="1"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontFamily" Value="Tahoma"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid x:Name="grid">
<Border x:Name="border" CornerRadius="0,10,10,0"
BorderBrush="Gray" BorderThickness="1">
<Border.Background>
<RadialGradientBrush GradientOrigin="0.496,1.052">
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5" CenterY="0.5"
ScaleX="1.5" ScaleY="1.5"/>
<TranslateTransform X="0.02" Y="0.3"/>
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Offset="1" Color="#0073CF"/>
<GradientStop Offset="1" Color="#0073CF"/>
</RadialGradientBrush>
</Border.Background>
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"
TextElement.FontWeight="Bold">
</ContentPresenter>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="border">
<Setter.Value>
<RadialGradientBrush GradientOrigin="0.496,1.052">
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5"
CenterY="0.5" ScaleX="1.5" ScaleY="1.5"/>
<TranslateTransform X="0.02" Y="0.3"/>
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Color="#40b5f2" Offset="0.3"/>
<GradientStop Color="#40b5f2" Offset="0.3"/>
</RadialGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" TargetName="border"
Value="Gray"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" TargetName="grid" Value="0.25"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
推荐阅读
- vue.js - 如何使用 Parcel 导入 cordova.js
- javascript - 移动鼠标时重新加载带有嵌入视频的 Angular ng-boostrap 模态
- java - 使用单词选择整行,但如果存在一个或多个其他单词或模式,则不选择
- r - 在R中使用for循环构建时如何引用列中的先前条目?
- azure - 尝试在管道中使用 Azure Key Vault 任务时出错。未找到包裹
- r - 在 Rniftyreg 中成功使用 applyTransform()
- node.js - 尽管 npm install,Gatsby 还是找不到 fs
- c# - 为什么当我尝试从 TinyMCE 保存文本时模型无效
- javascript - 谷歌饼图“无数据”如何从 php 输出 json 获取数据
- ios - 正确使用/构建 IOS 框架的问题