0

我正在创建一个功能,当您浏览菜单项时,您将获得面包屑以返回。为了在我的 Windows 8 应用程序中创建它,我正在生成一个项目集合,并在我浏览菜单时添加到该集合中。

用于显示面包屑的 xaml 代码是:

<ListView VerticalAlignment="Top"
          HorizontalAlignment="Left"
          Margin="120,60,0,0"
          ItemsSource="{Binding Parents}">
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text=">>" />
                <Button Content="{Binding Name}" Command="{Binding OpenCommand}" CommandParameter="{Binding}" />
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

虽然这可行,但我对按钮的绑定并不是 100% 满意。问题是我正在调用已经在我的整体控件的视图模型上运行的功能,这似乎需要我OpenCommand在我的内部项目命令上有一个属性。

是否可以将我的按钮Command=属性绑定到控件整体视图模型上的命令,而不是列表项本身?

4

1 回答 1

2

应该可以这样:

<ListView x:Name="listView" ...>
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text=">>" />
                <Button Content="{Binding Name}"
                    Command="{Binding DataContext.OpenCommand, ElementName=listView}"
                    CommandParameter="{Binding}" />
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
    ...
</ListView>
于 2013-07-31T18:11:56.460 回答