WPFリボン - 高さが250未満のときに自動崩壊
質問
サラム、
WPFリボンで私を喜ばせるのを手伝ってくれませんか?リボンの自動崩壊が250未満のリボン制御高さを含むウィンドウを与えると、私は気づきました。明示的に設定すると自動化された後、タブが表示されないタイトルバーのみが表示されるように表示されます。この動作を止める手段はありますか?
解決
答えを見つけました:
これは、新しくリリースされたMicrosoftリボンの構築された動作です。含有ウィンドウはリボンオブジェクトに保存され、ウィンドウの幅が300未満の場合、またはウィンドウの高さが250未満の場合、リボンが崩壊します。コースでは、スペースが不足している場合、リボンではなくドキュメントに優先順位が与えられます。同じ動作は、単語とExcelのリボンで見つかります。
この動作をオーバーライドする奇妙な方法はありませんが、次のことを行うことができます。
1-このページからソースとサンプルのインストーラーをダウンロードしてインストールします。
2-ソリューションを含むRARファイルを見つけます。
3-解決策を抽出して開きます。
4-リボンクラスを見つける(RibbonsControlsLibraryプロジェクトにあるはずです)
ここからクラスの実装を調べることができます。クラスの先頭に問題を引き起こしている2つの定数があることがわかります。コードを変更し、他に何も機能しない場合はプロジェクト全体の再構築を検討することもできます。
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は、あなたがコードを変更することは許可されていないが、例えばプレゼンテーションのためにそれを表示するだけであると主張していると思います。
なぜこれが必要なのか、必要なものはサポートされていないと思います。なぜなら、Microsoftはリボン制御を意図していなかったため、Office 2007または2010で見ることができるもの以外の方法で使用されていたからです。
なぜそれが必要なのですか?