为什么 System.Windows.Controls.Button 的内边距始终为 10px?
请参阅屏幕截图。青色边框框是按钮,蓝色填充是矩形。我一生都无法弄清楚如何摆脱按钮中的填充。有没有办法将矩形放置在左上角,使其接触青色边框?
谢谢。
See screenshot. The bounding cyan-bordered box is the button, while the blue fill is the rectangle. I cannot for the life of me figure out how to get rid of the padding in the button. Is there a way to position the rectangle to the top left so it touches the cyan border?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您是否尝试将
矩形
的边距设置为0
?编辑:填充必须来自按钮控件模板。尝试使用自定义模板:
Did you try setting the
Rectangle
's margin to0
?EDIT: The padding must come from the button control template. Try using a custom template:
解决方法:
绘制一个矩形并向其添加 onclick。
A workaround:
Draw a rectangle and add onclick to it.
我无法生成那种明显的行为,但我想知道,您会在 Windows Phone 应用程序中进行开发吗?
如果是这样,您最有可能看到的不是
Padding
的结果,而是“PhoneTouchTargetOverhang”的结果。这是 App.xaml 中的一个Thickness
资源,由“PhoneButtonBase”样式用于按钮的外边框Margin
。这实际上是 Windows Phone 7 应用于按钮的默认样式的副本。要替换它,您需要实际指定您的按钮使用“PhoneButtonBase”样式,然后更改“PhoneTouchTargetOverhang”的值。这将更新使用此样式的任何按钮。
I can't generate that apparent behaviour but I wonder, would you be developing in Windows Phone app?
If so what you are most likely seeing is not the result of
Padding
but result of "PhoneTouchTargetOverhang". This is aThickness
resource found in App.xaml and is used by the "PhoneButtonBase" style for the outer borderMargin
for the button.This is actually a copy of the default style that windows phone 7 applies to buttons. To replace it you will need to actually specify that your button use the "PhoneButtonBase" style then change the value of "PhoneTouchTargetOverhang". This will update any button using this style.