質問

N.Bこの質問を更新しまし読みま

こんにちは,

作りたいカスタムコンテキストメニューは4つのサブメニュー、そしてそれぞれの領域(左上、右下は左、右下)です。同様に、ニンテンドー3dsのスタジオ。

このようにのんびりとっての課題これまで:-をカスタムコンポーネントのラインナップ制御からContextMenu[1]
-を宣言するのに4依存性ContextMenu、これらがメニューの表示で設定できー.
-AddOwnerのContextMenu.IsOpenProperty、性変更通知です。
-時のIsOpenの中で特定のプロパティに変更セットのIsOpenの4子どもの文脈でメニューを取り揃えております。
使用ContextMenuServiceセット、縦方向と横方向のオフセットのサンプルでは、コンテキストのメニューに表示される各領域;結合実際の高さと幅特性を計算し、オフセットなのです。

[1]から派生する必要はありコンテキストメニュー限を割り当てることはできませんのでContextMenuの物件です。

この が表示され 仕事が課題となっているメニュー ない ウィンドウを開いて閉鎖としては外部のメニューが思用Reflector.NET 見頃です。

これは私の初めてのカスタムコンポーネントのラインナップを制御することんと書;ということです。

提案/かについて話し合うことをQuadコンテキストメニュー?

役に立ちましたか?

解決 2

更新

OK。後に遊びカスタムを制御しているものは ります。すべてのメニューに現在開きます。

んどろ風mikiモデルを作ってみを行います。
作成されたカスタム制御の名QuadContextMenuから派生するContextMenu,オーバーライドのデフォルトのスタイル。
-スタイルの制御は4ポップアップのプリミティブ:
-それぞれPART_名を取得しますを参照していた時にOnApplyTemplate.
-それぞれの子QuadMenu、カスタム制御から派生するMenuBase.
-それぞれそのVerticleOffsetとHorizontalOffset性質に結合すActualHeightとActualWidthの子[2]となります。

QuadMenuスタイル/テンプレート制御:
-はクラシックボーダーとdockpanel、国境をtextblockのメニューの名前です。

[2]上位のメニュー、クアッド:-TopLeftが負のオフセットの実際の幅と高さ
-TopRightが負のオフセットの高さ
-BottomLeftが負のオフセットの高さ
-BottomRightは ない オフセットとはで元の場所

alt text

新しい問題の/問題

これらは次の課題はこの制御:
1.現在のキーボードやマウスはロック/撮影による最初のメニューを中心にその他によりご利用頂けないで推移しました。いことを意味しますを使用することはできますか1日のメニューを取り揃えております。
2.フリップのメニュー項目のようにTopLeft/BottomLeftのサブメニューを開き、左手側となります。

しかし、私ためのメニュー項目を上書きするGetContainerForItemOverride方法を返しQuadMenuItem.QuadMenuItemカスタム制御からMenuItem.私はこのが失わなければならなかったのは、サブメニューサブメニューの機能の機能は悔いが残っています。

いずのキュぎ/うこれらの問題への取り組みをいくお願いいたします。Dん

他のヒント

私はを考えることができる二つのアプローチにもつながっていく必要がクリーンでの仕事がございました。

アプローチ1

使用するコンテキストメニューが設定テンプレートのようにContextMenuうかを示を制御することが開くのです。もぎができるようにこれらの二次メニューを飲まないのです。この場だが、元の問題です。

アプローチ2

うに設定しますContextMenu.StaysOpenをfalseにしてからの制御だけでなく、メニューの終了の理由を教えてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top