【问题标题】:Multi-Column Items with Headers in WPF ComboboxWPF 组合框中带有标题的多列项目
【发布时间】:2011-09-19 19:13:31
【问题描述】:

我想要一个组合框来显示具有多个属性的项目,每个项目显示一个属性的列标题。这是我目前正在使用的控制模板。向这些添加列标题的最佳方法是什么?

我的组合框设置为 ItemsSource="{Binding Meters}"

<ControlTemplate TargetType="ComboBoxItem">
    <Grid HorizontalAlignment="Stretch" TextElement.FontWeight="Normal">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="85" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" SharedSizeGroup="Status" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" SharedSizeGroup="ExpectMfactor" />
        </Grid.ColumnDefinitions>
        <TextBlock Grid.Column="0" Text="{Binding Path=MtrNo}" />
        <Rectangle Grid.Column="1" Width="1" Fill="Black" />
        <TextBlock Grid.Column="2" Text="{Binding Path=Status}" Margin="5,0,5,0" />
        <Rectangle Grid.Column="3" Width="1" Fill="Black" />
        <TextBlock Grid.Column="4" Text="{Binding Path=ExpectMfactor}" Margin="5,0,5,0" />
    </Grid>
</ControlTemplate>

【问题讨论】:

  • 假设您希望列标题在整个项目列表上方出现一次,您不能仅通过重新模板化项目本身来做到这一点。有关多种方法,请参阅右侧栏中的相关问题。

标签: wpf xaml combobox header


【解决方案1】:

你不能用项目模板做到这一点

最好在DataGridListView 里面使用ComboBox

【讨论】:

  • 这将在每个单独的项目上方显示标题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-05
  • 2013-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多