【发布时间】:2011-04-08 04:18:58
【问题描述】:
萨拉姆,
任何人都可以帮助我使用 WPF 功能区,我注意到当您将包含功能区控件高度小于 250 的窗口设置为功能区时,功能区会自动折叠。如果您明确将其可见性设置为可见,则在它自动折叠后,仅显示标题栏而不显示选项卡。有什么方法可以阻止这种行为?
【问题讨论】:
萨拉姆,
任何人都可以帮助我使用 WPF 功能区,我注意到当您将包含功能区控件高度小于 250 的窗口设置为功能区时,功能区会自动折叠。如果您明确将其可见性设置为可见,则在它自动折叠后,仅显示标题栏而不显示选项卡。有什么方法可以阻止这种行为?
【问题讨论】:
我找到了答案:
这是新发布的 Microsoft Ribbon 的内置行为:包含窗口存储在 Ribbon 对象中,并且 Ribbon 折叠当窗口的宽度低于 300,或者窗口的高度低于 250,目的当然是在空间稀缺的时候,优先考虑文档,而不是Ribbon。在 Word 和 Excel 功能区中可以找到相同的行为。
没有覆盖此行为的直接方法,但您可以执行以下操作:
1 - 从此页面下载并安装源代码和示例安装程序。
2 - 找到包含解决方案的 RAR 文件。
3 - 提取并打开解决方案。
4 - 找到 Ribbon 类(应该在 RibbonsControlsLibrary 项目中)
您可以从这里检查类的实现,您可以看到在类的开头有两个常量导致了问题。如果没有其他方法,您甚至可以考虑更改代码并重新构建整个项目.
public class Ribbon : Selector
{
private const double CollapseWidth = 300.0; // The minimum allowed width before the Ribbon will be collapsed.
private const double CollapseHeight = 250.0; // The minimum allowed height before the Ribbon will be collapsed.
//....
}
【讨论】:
我认为 Microsoft 声称不允许您更改代码,而只能查看它,例如演示文稿 - 所以更改和重建它可能不是一个好主意......
【讨论】:
为什么你需要这个,我认为你需要的东西不受支持,因为微软不打算让 Ribbon 控件以我们在 Office 2007 或 2010 上看到的方式以外的方式使用。
你为什么需要那个?
【讨论】: