WPF ToolBar有哪些优点?

4
我正在考虑是否应该创建一个简单的StackPanel并在上面放置按钮,或者是否应该使用WPF ToolBar类来包含这些按钮(我正在创建一个简单的工具栏)。
使用WPF内置的ToolBar控件有哪些优缺点?
到目前为止,这是我看到的唯一优点: - 当需要时,工具栏可以折叠;其他项目可以从上下文下拉菜单中使用。 - 如果ToolBar被包含在ToolBarTray中,则可以相对于彼此重新定位多个ToolBar。
还有其他WPF ToolBar的好处吗?这两个优点都不适用于我的简单工具栏。

缺点将是复杂性。因为我仅使用单个工具栏,重新定位手柄将是不必要的,控件必须重新模板化以去除它。 - Josh G
1
您无需重新设计模板即可删除握把,只需要设置一个属性即可。https://dev59.com/cXNA5IYBdhLWcg3wNa-T - Joe White
是的,你说得对。我重新设计了折叠按钮以删除它。 - Josh G
3个回答

9

WPF工具栏可能在可访问性方面表现更佳,因为它将自身显示为带有工具栏按钮的工具栏,而不是一些随机控件,你永远不知道会有谁使用你的软件。


好答案 - 我从来没有想到过。 - Joe White

4
另一个非常小的优点是,ToolBar中的按钮将被正确地样式化,而在StackPanel中的按钮将采用它们的默认外观。这并不是无法克服的问题,但仍然有点烦人。

在非本地容器中重新设计控件,使其看起来像本地容器中的控件很少值得这样做。 - micahtan
因此,工具栏会自动影响按钮的样式。 - Josh G
没错,你可以将这些样式应用到自己的按钮或复选框或其他控件上。看看 ToolBar 上的静态成员就明白我的意思了。 - Kent Boogaart

3
我建议使用工具栏(Toolbar),因为你永远不知道下一个项目是否需要它。同样,你也不知道当前的项目是否需要它。我认为与 StackPanel 相比,使用工具栏没有任何真正的缺点,而你没有提到的优点是,在下一个项目中你将拥有更多使用内置控件的经验。
另一方面,我认为使用 StackPanel 也没有什么坏处,只是如果你需要在未来扩展功能,你可能需要做一些重构工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接