2011-12-13 60 views
1

我有以下XAML。我想每行一个按钮来包含所有的数据。这可能吗?使用Gridview制作多列按钮

<ListView Name="ClosestListView"> 
     <ListView.View> 
      <GridView> 
       <GridView.Columns> 
        <GridViewColumn Header="ShapeFileType" > 
         <GridViewColumn.CellTemplate> 
          <DataTemplate> 
           <TextBlock Text="{Binding Path=ShapeFileType}" /> 
          </DataTemplate> 
         </GridViewColumn.CellTemplate> 
        </GridViewColumn> 


        <GridViewColumn Header="Address" > 
         <GridViewColumn.CellTemplate> 
          <DataTemplate> 
           <TextBlock Text="{Binding Path=fullMatch}" MinWidth="100"/> 
          </DataTemplate> 
         </GridViewColumn.CellTemplate> 
        </GridViewColumn> 
... more columns and closing tags 

回答

2

如果你只是寻找一个Click事件添加到您的行,你可能会更好过添加Click事件您ListViewItemGridViewCell

<Style TargetType="{x:Type ListViewItem}"> 
    <EventSetter Event="MouseDoubleClick" Handler="HandleDoubleClick" /> 
</Style> 

如果你要绑定的点击事件到您的ViewModel Command,我会建议使用AttachedCommandBehavior发现here

如果你真的想要一个按钮,垃圾邮件的所有列,我会建议调查Grid.SharedSizeGroup调整您的数据

0

我想它更符合逻辑来处理selectionchanged事件。

<ListView Name="ClosestListView" SelectionChanged="ClosestListView_SelectionChanged">