2017-09-16 10 views
1

私はWPF技術の初心者です。私は約6年間WinFormsで開発してきました。ToolStripDropDownButtonはWPFで同等ですか?

今、私はWPFを学ぶことで自分のスキルに大きなステップを進めたいと思います。私はMSDNの導入ガイドを読んでいますが、私は個人的な練習としてWinForms UIの構造をWPF UIに相当するものに変換しようとしています。

これは私がWPFで再現したいのWinFormsコントロール構造の簡単なモックアップです:

enter image description here

私の問題は、ToolStripDropDownButton制御のための等価制御/動作を再現しようとしています。 Windows Forms Controls and Equivalent WPF Controls記事で

、MicrosoftはちょうどToolStripDropDownButtonための同等の制御が組成物と... ツールバーであると述べています。私は「構成」について何を意味するのか全く理解していません。私はToolbarを読んで実験していましたが、ツールバーの中にドロップダウンボタンを追加する方法が見つかりませんでした。

私の質問:誰かが私を案内したり、ツールバーの中にドロップダウンボタンを追加する方法の簡単な例を紹介したりできますか?

+1

[WPFツールバーのドロップダウンメニュー?](https://stackoverflow.com/q:

enter image description here

をあなたは、このようなコードを使用することができます/ 1790858/3110834) –

+0

@Reza Aghaeiコメントありがとうございます。私が恐れているのは、それが「メニュー」だと言われています。私の無知から言えば、ボタンがクリックされたときに表示されるメニューのようです。これは、ボタンのコントロールを再現することができません。デフォルトでは、ボタンの右側に描かれた矢印ですか? (ToolStripDropDownButtonコントロールのように)、その解決策を試して、最後の "メニュー"がドロップダウンボタンとして期待される動作を持つかどうかを確認します。再度、感謝します! – ElektroStudios

+0

ようこそ。コメントの質問に基づいて、矢印ボタンとサブメニューでホストされている他のコントロールを含むコードサンプルを追加しました。 –

答えて

1

MenuToolbarに入れることができます。 Menuには、MenuItemが含まれています。各MenuItemHeaderです。内容はテキストであり、他の要素でもかまいません。また、各MenuItemは、いくつかのネストされたか、またはMenuItemを持つことができます。例えば、このようなメニュー構造を有すること:

<ToolBar> 
    <Menu Background="#00000000"> 
     <MenuItem > 
      <MenuItem.Header> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock>Menu 1</TextBlock> 
        <Path VerticalAlignment="Center" Margin="8,2,0,0" 
          Fill="Black" Data="M 0 0 L 3 3 L 6 0 Z"/> 
       </StackPanel> 
      </MenuItem.Header> 
      <MenuItem Header="Menu 1-1" > 
       <MenuItem Header="Menu 1-1-1"/> 
       <MenuItem Header="Menu 1-1-2"/> 
      </MenuItem> 
      <MenuItem Header="Menu 1-2"/> 
      <MenuItem> 
       <MenuItem.Header><TextBox Width="100"/></MenuItem.Header> 
      </MenuItem> 
      <MenuItem> 
       <MenuItem.Header><DatePicker Width="100"/></MenuItem.Header> 
      </MenuItem> 
     </MenuItem> 
     <MenuItem > 
      <MenuItem.Header> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock>Menu 2</TextBlock> 
        <Path VerticalAlignment="Center" Margin="8,2,0,0" 
          Fill="Black" Data="M 0 0 L 3 3 L 6 0 Z"/> 
       </StackPanel> 
      </MenuItem.Header> 
      <MenuItem Header="Menu 2-1"/> 
      <MenuItem Header="Menu 2-2"/> 
      <MenuItem Header="Menu 2-3"/> 
     </MenuItem> 
     <MenuItem Header="Menu 3"/> 
    </Menu> 
</ToolBar> 
関連する問題