2016-11-23 16 views
-1

WPFのメニューに問題があります。私はエキスパンダーを使ってメニューを作成しています。このmenuitemのサブアイテムを追加したいとき、私はそれをうまく作成し、アプリケーションを実行する前にプレビューに正しく表示されます。しかし、私がアプリケーションを実行すると、そのメニューのサブアイテムにアクセスするためのメニューをクリックすることはできません。私は間違って何をしていますか?ここで WPF - メニューは正しく表示されますが、クリックできません。(C#)

は(C#を使用して)私のWPFのコードです:私は、アプリケーションを実行する場合でも、それは次のようになりたい

<Expander Header="Handle" 
      FontSize="15" 
      BorderBrush="Black" 
      Margin="3,0,2,1"> 
    <Menu Background="White"> 
    <VirtualizingStackPanel Orientation="Vertical"> 
     <MenuItem x:Name="MenuArticle" 
       Header="Article" 
       Height="25" 
       FontSize="13" 
       Width="177" 
       Click="MenuArticle_Click"> 
     <MenuItem x:Name="menuNewArticle" 
       Header="New article" 
       Height="25" 
       FontSize="13" 
       Width="187"/> 
     <MenuItem x:Name="menuHandleArticle" 
       Header="Handle article" 
       Height="25" 
       FontSize="13" 
       Width="187"/> 
    </VirtualizingStackPanel> 
    </Menu> 
</Expander> 

使用する必要はありません

enter image description here

+0

'VirtualizingStackPanel'はあなたが間違っていることです。 *コードをコメントアウトして再度テストすることについて考えたことがありますか?あなたが問題に直面しているときに行うのは一般的なことです。 – Jim

答えて

1

StackPanelの場合は、Menu'sItemsのプロパティに

<Expander Header="Handle" FontSize="15" BorderBrush="Black" Margin="3,0,2,1"> 
    <Menu Background="White"> 
     <Menu.Items> 
      <MenuItem x:Name="MenuArticle" Header="Article" Height="25" FontSize="13" Width="177"> 
       <MenuItem.Items> 
        <MenuItem x:Name="menuNewArticle" Header="New article" Height="25" FontSize="13" Width="187" /> 
        <MenuItem x:Name="menuHandleArticle" Header="Handle article" Height="25" FontSize="13" Width="187"/> 
       </MenuItem.Items> 
      </MenuItem> 
     </Menu.Items> 
    </Menu> 
</Expander> 

編集:あなたは、メニュー項目の配置を設定したい場合は 、これを参照してください。

How do get menu to open to the left in WPF?

あなたは、ポップアップの配置を変更する必要があります。

+0

こんにちは、この仕事は結果は前と同じですが、水平の代わりに垂直に開きます。垂直ではなく水平で作業を開始するためのコマンドはありますか?どんな種類のオリエンテーション? – Huezzer

+0

@Huezzerあなたは先に進み、添付されたプロパティを使って方向を設定できます。私の更新答えを見てください –

関連する問題