WPF Button自定义模板问题

kang1happy 2014-04-02 03:51:05
<Style TargetType= "Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Ellipse Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Name="ellipse1">
<Ellipse.Fill>
<RadialGradientBrush Center="1,1" Opacity="0.5" RadiusX="0">
<GradientStop Color="Blue" Offset="1" />
<GradientStop Color="White" Offset="0" />
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Width="90" Height="60">
<Ellipse.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0" Color="White"/>
<GradientStop Offset="1" Color="Transparent"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="ellipse1" Property="Fill" Value="Red"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

这个是自定义模板的代码,在第二个Ellipse的宽度和高度是写死的,我想这个宽度={TemplateBinding Width}-10,应该怎么去改这段代码,求教育!
...全文
192 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2014-04-11
  • 打赏
  • 举报
回复
引用 5 楼 KumaPower 的回复:
[quote=引用 4 楼 kang1happy 的回复:] [quote=引用 3 楼 KumaPower 的回复:] 数据转换: http://msdn.microsoft.com/zh-cn/library/ms752347%28v=vs.100%29.aspx#data_conversion
我不想修改后台代码,能只通过XAML实现吗?[/quote] 你这个情况我想不到其他办法。[/quote] 我也想不出。。。。。。。 除了写一个转换类,也可以改变实体类中的width的get{return this.width-10} 总后台代码是必须改变的。
kang1happy 2014-04-11
  • 打赏
  • 举报
回复
引用 6 楼 yanran_hill 的回复:
如果只是显示的宽度={TemplateBinding Width}-10,因该可以使用Margin="5,0,5,0"吧?
如果不计算出来里面的宽度用Margin会导致里面Ellipse 的偏移,达不到预期的效果。
yanran_hill 2014-04-10
  • 打赏
  • 举报
回复
如果只是显示的宽度={TemplateBinding Width}-10,因该可以使用Margin="5,0,5,0"吧?
Bonjour-你好 2014-04-10
  • 打赏
  • 举报
回复
引用 4 楼 kang1happy 的回复:
[quote=引用 3 楼 KumaPower 的回复:] 数据转换: http://msdn.microsoft.com/zh-cn/library/ms752347%28v=vs.100%29.aspx#data_conversion
我不想修改后台代码,能只通过XAML实现吗?[/quote] 你这个情况我想不到其他办法。
kang1happy 2014-04-10
  • 打赏
  • 举报
回复
引用 3 楼 KumaPower 的回复:
数据转换: http://msdn.microsoft.com/zh-cn/library/ms752347%28v=vs.100%29.aspx#data_conversion
我不想修改后台代码,能只通过XAML实现吗?
tiankong206 2014-04-03
  • 打赏
  • 举报
回复
我也想知道,帮顶一下
kang1happy 2014-04-03
  • 打赏
  • 举报
回复
怎么没人帮我顶一下

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧