在 WPF TabControl 上 - 我可以在选项卡标题旁边添加内容吗?
有没有一种简单的方法可以将另一个控件(即按钮)内联放置在 WPF 中选项卡标题的右侧?
在网络中,我会使用浮动或绝对定位来完成此任务。
这张图中的红线就是我想要达到的目标:
(来源:jonkragh.com)
谢谢! 乔恩
Is there an easy way to position another control (i.e. a button) inline and to the right of tab headers in WPF?
In the web, I would use a float or absolute positioning to accomplish this.
The red line in this picture is what I am trying to get to:
(source: jonkragh.com)
Thanks!
Jon
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
执行此操作的可靠方法是重新模板化
TabControl
,就像我为ActiveAwareCommand
示例:注意
TabPanel
和Button
永远不能重叠。结果:The robust way to do this is to re-template the
TabControl
as I did for the close button in myActiveAwareCommand
sample:Notice how the
TabPanel
andButton
can never overlap. Result:与在 Web 上的操作方式类似,您只需将选项卡控件和浮动控件放入网格内,并设置浮动控件的边距以使其位于正确的位置。您还可以使用 Canvas 元素来包含 Grid 和浮动控件并设置 Canvas.Left 和 Canvas.Top。
如果选项卡在编译时未确定,您可能需要动态测量每个选项卡的宽度。
Similar to how you would do it on the web, you can just put the tab control and floating control inside a Grid and set the margins of the floating control to get it in the right spot. You could also use a Canvas element to contain the Grid and floating control and set the Canvas.Left and Canvas.Top.
You might need to dynamically measure the width of each tab, if the tabs are not determined at compile time.