c# - 使用 DataGridTemplateColumn.CellTemplate 并绑定(bind)到数据表时,DataGrid 中的重复列

标签 c# .net wpf datatable wpfdatagrid

我在 DataGrid 中遇到问题。我需要在数据网格中使结果可点击。为此,我需要使用 <DataGridTemplateColumn> 显示一些来自绑定(bind)结果的结果和一些可点击的结果。

<DataGrid Name="Result" IsReadOnly="True" ItemsSource="{Binding Result}" AutoGenerateColumns="True" Height="200">      

 <DataGridTemplateColumn Header="Image">
      <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
          <StackPanel>
            <Button  Content="{Binding Image}" Name="Image" Click="Button_Click" />
          </StackPanel>
        </DataTemplate>
      </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>

但结果我得到了重复的列名,因为一个来自绑定(bind)结果,另一个来自 <datagridtemplatecolumn> .有人可以帮我从绑定(bind)结果中删除重复的列名吗?

最佳答案

Can some one please help me to remove duplicate column name from binding result.

只需将 AutoGenerateColumns 属性设置为 False:

<DataGrid Name="Result" IsReadOnly="True" ItemsSource="{Binding Result}" AutoGenerateColumns="False" Height="200">
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="Image">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel>
                        <Button  Content="{Binding Image}" Name="Image" Click="Button_Click" />
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

然后 DataGrid 将不会生成任何列,您只会看到您在 XAML 标记中明确定义的列,即本例中的“图像”列。

关于c# - 使用 DataGridTemplateColumn.CellTemplate 并绑定(bind)到数据表时,DataGrid 中的重复列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49005305/

相关文章:

wpf - 无边框的 TabControl wpf (XP)

C# WIA ADF 有下一页

C# |在 SqlCommand 查询中使用参数

c# - 延迟执行下 linq c# 中的奇怪行为

c# - 如何在 C# 中重定向**现有**进程的 STD-Out

c# - 如何根据条件将 VIew 模型的属性绑定(bind)到 DataTrigger Setter?

c# - 进行非常基本的搜索时遇到问题 - 没有结果

c# - 在 C# 中覆盖二元运算符

c# - 无法从 NHibernate.Driver.OracleDataClientDriver 创建驱动程序(复制本地设置为 true)

wpf - 垂直滚动条未出现在WPF的UserControl内的DataGrid中