Wpf 如何在DataGridTextColumn';s文本单击
我有一个具有多个列的DataGrid。一列应该用作引用,但它现在的行为类似于伪文本。如何使用MVVM模式(无事件)单击此文本来执行任何命令Wpf 如何在DataGridTextColumn';s文本单击,wpf,mvvm,datagrid,Wpf,Mvvm,Datagrid,我有一个具有多个列的DataGrid。一列应该用作引用,但它现在的行为类似于伪文本。如何使用MVVM模式(无事件)单击此文本来执行任何命令 一种方法是通过重新定义列的单元格模板,在单元格中使用按钮 下面是一个例子: <DataGrid ItemsSource="{Binding Items}"> <DataGrid.Columns> <!-- Your first column --> <D
一种方法是通过重新定义列的单元格模板,在单元格中使用按钮 下面是一个例子:
<DataGrid ItemsSource="{Binding Items}">
<DataGrid.Columns>
<!-- Your first column -->
<DataGridTemplateColumn Header="Recipe">
<DataGridTemplateColumn.CellTemplate>
<!-- Let's redefine the cell template for our column -->
<ItemContainerTemplate>
<Button Content="{Binding RecipeName}" Command="{Binding MyCommand}">
<!-- Here we remove the button's default templating by overriding it -->
<Button.Template>
<ControlTemplate TargetType="Button">
<ContentPresenter Content="{TemplateBinding Content}" />
</ControlTemplate>
</Button.Template>
</Button>
</ItemContainerTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
<DataGrid ItemsSource="{Binding Items}">
<DataGrid.Columns>
<!-- Your first column -->
<DataGridTemplateColumn Header="Recipe">
<DataGridTemplateColumn.CellTemplate>
<!-- Let's redefine the cell template for our column -->
<ItemContainerTemplate>
<Button Content="{Binding RecipeName}" Command="{Binding MyCommand}">
<!-- Here we remove the button's default templating by overriding it -->
<Button.Template>
<ControlTemplate TargetType="Button">
<ContentPresenter Content="{TemplateBinding Content}" />
</ControlTemplate>
</Button.Template>
</Button>
</ItemContainerTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>