2012-07-27 59 views
1

假设我有如下的XAML标记。如何将按钮的命令参数绑定到每一行。请显示最合适的绑定表达式。绑定gridview行上的每个项目

<ListView ItemsSource="{Binding Items}"> 
    <ListView.View> 
    <GridView> 
     <GridViewColumn Header="Items" Width="Auto"> 
     <GridViewColumn.CellTemplate> 
      <DataTemplate> 
      <TextBlock Text="{Binding Path=Name, Mode=OneWay}"/> 
      </DataTemplate> 
     </GridViewColumn.CellTemplate> 
     </GridViewColumn> 
    <GridViewColumn Header="" Width="Auto"> 
     <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <Button MinWidth="100" Command="{Binding DeleteCommand}" CommandParameter="{Binding <EXPRESSION>}" >Delete</Button> 
     </DataTemplate> 
     </GridViewColumn.CellTemplate> 
    </GridViewColumn> 
    <ListView.View> 
</ListView> 
+0

哪里XAML? – 2012-07-27 21:21:20

+0

格式化了xml – TrustyCoder 2012-07-27 21:25:07

回答

1

这是有效的。

CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type GridViewRowPresenter}}, Path=DataContext}" 
0

我讨厌WPF。

创建一个自我指涉的财产

这个属性添加到您绑定的数据模型类:

public class MyDataObjectItem 
{ 
    //... 
    public MyDataObjectItem Self { get { return this; } } 
    //... 
} 

然后命令参数很简单:

CommandParameter="{Binding Self}" 

或者,显然此作品

CommandParameter="{Binding}" 

看到https://stackoverflow.com/a/11287478/887092