【问题标题】:Command parameter won't bind to a StackPanel?命令参数不会绑定到 StackPanel?
【发布时间】:2011-07-19 05:34:05
【问题描述】:

我正在尝试创建一个简单的 TreeView 来表示我的应用程序数据目录,但是我发现在尝试实现文件夹重命名选项时,我无法将上下文菜单上的命令参数绑定到 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>

问题似乎是层次结构,有什么方法可以使用相对源将重命名文件夹菜单项命令参数绑定到包含编辑器元素的堆栈面板?

谢谢,

亚历克斯。

【问题讨论】:

    标签: .net wpf xaml .net-4.0 binding


    【解决方案1】:

    MenuItems 不是可视化树的一部分,因此您必须向命令侦听器(或任何后代)添加显式“CommandTarget”绑定。

    【讨论】:

    • 你能给我一个简单的例子吗?
    猜你喜欢
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多