サラム、
誰でも WPF リボンで私を助けてくれますか?リボン コントロールの高さが 250 未満のウィンドウを指定すると、リボンの自動折りたたみが行われることに気付きました。可視性を明示的に Visible に設定すると、自動的に折りたたまれた後、タイトルバーのみがタブなしで表示されます。この動作を止める手段はありますか?
私は答えを見つけました:
これは、新しくリリースされた Microsoft リボンの組み込みの動作です。含まれているウィンドウはリボン オブジェクトに格納され、リボンは折りたたまれます。ウィンドウの幅が 300 未満、またはウィンドウの高さが 250 未満の場合、目的は次のとおりです。もちろん、スペースが不足している場合は、リボンではなくドキュメントが優先されます。Word と 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 がリボン コントロールを Office 2007 または 2010 で見られる以外の方法で使用することを意図していなかったため、必要なものがサポートされていないと思います。
なぜそれが必要なのですか?
マイクロソフトは、コードを変更することは許可されておらず、プレゼンテーションなどのために表示することだけが許可されていると主張していると思います-おそらく、コードを変更して再構築することはお勧めできません...