2011-07-19 77 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> 

這個問題似乎是層次結構,有一些方法我可以使用相對源到重命名的文件夾的菜單項的命令paramater含有編輯器元件的堆疊面板結合?

謝謝,

Alex。

回答

1

MenuItems不是可視化樹的一部分,因此您必須向命令監聽器(或任何後代)添加顯式的「CommandTarget」綁定。

+0

你能舉個快速的例子嗎? –