none
ContextMenuのバインディングについて RRS feed

  • 質問

  • こんばんは。
    お世話になっています。

    早速ですが質問させて下さい。

    ContextMenuのバインドを以下のように設定したのですが、クリック判定を受け付けない余白部分が出来てしまいます。
    これを通常のコンテキストメニューのように表示箇所全てにクリック判定を付けるにはどうしたらよいのでしょうか?

    <Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
      <Window.ContextMenu>
        <ContextMenu>
          <MenuItem Header="Persons"
               ItemsSource="{Binding Persons}">
            <MenuItem.ItemTemplate>
              <DataTemplate>
                <MenuItem Header="{Binding}">
                  <MenuItem.HeaderTemplate>
                    <DataTemplate>
                      <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Path=ID}" />
                        <TextBlock Text="{Binding Path=Name}" Margin="5,0,0,0"/>
                      </StackPanel>
                    </DataTemplate>
                  </MenuItem.HeaderTemplate>
                </MenuItem>
              </DataTemplate>
            </MenuItem.ItemTemplate>
          </MenuItem>
        </ContextMenu>
      </Window.ContextMenu>
      <Grid/>
    </Window>
    
    

    実行画像とその判定箇所
    http://i.imgur.com/jeiuS.png

    以上、よろしくお願いします。 

    2010年7月22日 16:30

回答

  • ItemTemplate の中に MenuItem 入れる意味は無いかと。コンテナは ItemsControl が用意する物です。

    <MenuItem.ItemTemplate>
      <DataTemplate>
        <StackPanel...>
    

     

    • 回答としてマーク __test__ 2010年7月23日 4:24
    2010年7月23日 0:40

すべての返信