.net - TemplateBinding 填充到边框不适用于我的按钮
问题描述
TemplateBinding
for my中 a ( )的Padding
属性不起作用(它填充and the only 但不是 the and the )。Border
bdInner
ControlTemplate
Button
Left
Right
Top
Bottom
我已经尝试TemplateBinding
将Padding
那个边框改为BorderThickness
我的模板,这确实有效吗?!
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="#ECECEC" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="Padding" Value="10,5,10,5" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border CornerRadius="3" BorderThickness="1" BorderBrush="Black" SnapsToDevicePixels="True" Background="White" x:Name="bdOuter">
<Border x:Name="bdInner" CornerRadius="2" Padding="{TemplateBinding Padding}">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
<GradientStop Color="#FFFFFF" Offset="0.0" />
<GradientStop Color="#D1D1D1" Offset="0.05" />
<GradientStop Color="#EDEDED" Offset="0.5" />
<GradientStop Color="#D1D1D1" Offset="0.95" />
<GradientStop Color="#FFFFFF" Offset="1.0" />
</LinearGradientBrush>
</Border.Background>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="bdOuter" Property="Background" Value="#178140" />
<Setter TargetName="bdInner" Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
<GradientStop Color="#FFFFFF" Offset="0.0" />
<GradientStop Color="#D1BBE3B6" Offset="0.05" />
<GradientStop Color="#EDBBE3B6" Offset="0.5" />
<GradientStop Color="#D1BBE3B6" Offset="0.95" />
<GradientStop Color="#FFFFFF" Offset="1.0" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="bdOuter" Property="Background" Value="#178140" />
<Setter TargetName="bdInner" Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
<GradientStop Color="#FFFFFF" Offset="0.0" />
<GradientStop Color="#D1BBE3B6" Offset="0.05" />
<GradientStop Color="#EDBBE3B6" Offset="0.5" />
<GradientStop Color="#D1BBE3B6" Offset="0.95" />
<GradientStop Color="#FFFFFF" Offset="1.0" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="Button.IsPressed" Value="True">
<Setter TargetName="bdOuter" Property="Background" Value="#178140" />
<Setter TargetName="bdInner" Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
<GradientStop Color="#FFFFFF" Offset="0.0" />
<GradientStop Color="#D176C76D" Offset="0.05" />
<GradientStop Color="#ED76C76D" Offset="0.5" />
<GradientStop Color="#D176C76D" Offset="0.95" />
<GradientStop Color="#FFFFFF" Offset="1.0" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
是什么让它如此,我该如何帮助它?
解决方案
推荐阅读
- docker - 使用 docker 和 nodeJS 构建简单应用程序时,如何修复错误“npm ERR!无法从路径或包中检测节点名称”?
- c# - C#为什么int值不断重置为0?
- reactjs - 默认反应项目-通过设置主页出错-未捕获的语法错误:意外的令牌'<',我已经阅读了很多答案都没有工作
- microsoft-teams - 在 Microsoft 团队应用程序选项卡中聊天的深层链接不起作用
- python - 尝试执行 model.fit() 时出现 ValueError -: 无法将 NumPy 数组转换为张量(不支持的对象类型 numpy.ndarray)
- python - Django模板用本地图像替换模型返回的文本
- python - 滑动窗口外的 for 循环范围
- javascript - 初始显示后如何冻结css网格列宽
- sql - 输入上一个类型的最近日期
- python - 如何遍历 Python 中的贷款列表以生成摊销计划?