2011-07-19 7 views
0

私はアプリケーションのデータディレクトリを表す単純なTreeViewを作成しようとしていますが、フォルダ名変更オプションを実装しようとすると、コンテキストメニューのコマンドパラメータをStackPanelにバインドできませんでした。コマンドパラメータはStackPanelにバインドされませんか?

コード:

<Grid> 
    <Label Content="{Binding Path=FolderName}"> 
     <Label.ContextMenu> 
     <ContextMenu> 
      <MenuItem Header="Rename Folder" Command="{Binding Path=ToggleControlVisability}" CommandParameter="{Binding ElementName=FolderNameEditor}"></MenuItem> 
      <MenuItem Header="Delete Folder" Command="{Binding Path=DeleteFolder}" CommandParameter="{Binding Path=FolderInformation}"></MenuItem> 
     </ContextMenu> 
     </Label.ContextMenu> 
    </Label> 

    <StackPanel Name="FolderNameEditor" Orientation="Horizontal" Visibility="Hidden"> 
     <TextBox Name="EditFolderName" Text="{Binding Path=FolderName}"></TextBox> 
     <Button Content="Ok" Command="{Binding Path=ToggleControlVisability}" CommandParameter="{Binding ElementName=EditFolderName}"></Button> 
    </StackPanel> 
</Grid> 

問題がhierachyのようです、私はエディタの要素を含むスタックパネルにリネームフォルダメニュー項目のコマンドのparamaterをバインドするために相対的なソースを使用することができますいくつかの方法は何ですか?

おかげで、

アレックス。

答えて

1

MenuItemはビジュアルツリーの一部ではないため、明示的な "CommandTarget"バインディングをコマンドリスナー(または任意の子孫)に追加する必要があります。

+0

私に簡単な例を教えてもらえますか? –

関連する問題