使用Gridview创建一个多列按钮

时间:2011-12-13 15:58:53

标签: wpf xaml

我有以下XAML。我想每行一个按钮来包含所有数据。这可能吗?

<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 个答案:

答案 0 :(得分:2)

如果您只是想在自己的行中添加点击事件,那么最好将Click事件添加到ListViewItemGridViewCell

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

如果您想将Click事件绑定到ViewModel中的Command,我建议您使用找到的AttachedCommandBehavior here

如果您真的想要一个可以阻止所有列的按钮,我建议您查看Grid.SharedSizeGroup以对齐您的数据

答案 1 :(得分:0)

我认为只处理selectionchanged事件更合乎逻辑。

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