【问题标题】:WPF - Binding a list of a string to a column in Data GridWPF - 将字符串列表绑定到数据网格中的列
【发布时间】:2015-05-08 08:43:00
【问题描述】:

我有一个包含三列的数据网格。

 <DataGrid IemSource={Binding SomeData}>
       <DataGrid.Columns>
           <DataGridTemplateColumn>

           </DataGridTemplateColumn>

          <DataGridTemplateColumn>

          </DataGridTemplateColumn>

          <DataGridTemplateColumn>
             <DataGridTemplateColumn.HeaderTemplate>
                <DataTemplate>
                   <ItemsControl ItemSource="{Binding SomeList}">
                     <StackPanel Orientation="Horizontal">
                       <TextBlock Text="SomeTopic"/>
                       <ComboBox ItemSource="{Binding }"/>
                    </StackPanel>
                  </ItemsControl>
               </DataTemplate>
            </DataGridTemplateColumn.HeaderTemplate>
         <DataGridTemplateColumn.CellTemplate>
             <DataTemplate>
                 <ComboBox  />
            </DataTemplate>
       </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>


    </DataGrid.Columns>

SomeData 是 ClassA 的对象集合。 A 类包含两个字符串字段,我已将它们绑定到前 2 列。

该类包含名称为 SomeList 的字符串变量列表。我已将其绑定到第 3 列。我需要将它附加到第 3 列标题中的组合框。但是这段代码并没有给我我想要的。

有人可以帮忙吗?

【问题讨论】:

标签: wpf datagrid


【解决方案1】:

您的问题似乎是您将 StackPanel 作为项目添加到 ItemsControl 而不是在 DataTemplate 中使用它。

代替

<ItemsControl ItemSource="{Binding SomeList}">
    <StackPanel Orientation="Horizontal">
        <TextBlock Text="SomeTopic"/>
        <ComboBox ItemSource="{Binding }"/>
    </StackPanel>
</ItemsControl>

应该是这样的:

<ItemsControl ItemSource="{Binding SomeList}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="SomeTopic"/>
                <ComboBox ItemSource="{Binding }"/>
            </StackPanel>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

【讨论】:

  • 它隐藏了组合框本身。如果我这样做,它甚至不会显示组合框
猜你喜欢
  • 2019-08-29
  • 1970-01-01
  • 1970-01-01
  • 2017-07-07
  • 2011-04-07
  • 2012-03-12
  • 1970-01-01
  • 2012-06-13
  • 2011-10-14
相关资源
最近更新 更多