我已经按照这个问题的公认答案定义了一个带有标题的多列组合框。
它对我不起作用,所以我对其进行了一些更改,现在它可以工作了。这是创建带有标题的多列组合框的 xaml。
<Page.DataContext>
<vm:ItemsViewModel />
</Page.DataContext>
<Page.Resources>
<CollectionViewSource x:Key="UnitsCollection" Source="{Binding Units}" />
</Page.Resources>
<ComboBox Grid.Row="0" Grid.Column="4" Grid.ColumnSpan="2" Grid.IsSharedSizeScope="True"
x:Name="cbUnits" ItemsSource="{DynamicResource Items}" IsEditable="True" TextSearch.TextPath="Symbol"
SelectedValue="{Binding SelectedUnit}" SelectedValuePath="UnitID">
<ComboBox.Resources>
<CompositeCollection x:Key="Items">
<ComboBoxItem IsEnabled="False">
<Grid TextElement.FontWeight="Bold">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A" />
<ColumnDefinition Width="50" />
<ColumnDefinition SharedSizeGroup="B" />
</Grid.ColumnDefinitions>
<Grid.Children>
<TextBlock Grid.Column="0" Text="Name" />
<TextBlock Grid.Column="2" Text="Symbol" />
</Grid.Children>
</Grid>
</ComboBoxItem>
<Separator />
<CollectionContainer Collection="{Binding Source={StaticResource UnitsCollection}}" />
</CompositeCollection>
<DataTemplate DataType="{x:Type models:Unit}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A" />
<ColumnDefinition Width="50" />
<ColumnDefinition SharedSizeGroup="B" …Run Code Online (Sandbox Code Playgroud) 我花了最近几天试图为我的comboBox创建一个标题,但我似乎找不到方法.到目前为止我发现的所有内容都无法在我的模型中实现.我不得不说我对数据绑定的理解很少,我一直在认真阅读.我创建了一个comboBox并用不同数据库中的数据填充它.然后,我使用转换器连接要显示的相关数据.现在我想添加一个描述每个部分名称的标题.这是我的XAML:
<Window.Resources>
<local:ConcatenateFieldsMultiValueConverter x:Key="converter"/>
</Window.Resources>
<ComboBox Name="PersonComboBox" HorizontalAlignment="Left" Margin="104,64,0,0" VerticalAlignment="Top" Width="465">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox x:Name="ComboBoxCheckBox" IsChecked="{Binding IsSelected, Mode=TwoWay}"/>
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource converter}" ConverterParameter=", ">
<Binding Path="FirstName" />
<Binding Path="LastName"/>
<Binding Path="Age"/>
<Binding Path="Country"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
这是我绑定到comboBox的地方:
// Binds the comboBox to the personDataItems list
this.PersonComboBox.ItemsSource = personDataItems;
Run Code Online (Sandbox Code Playgroud)
这是标题的外观:

我希望能够使用XAML来做到这一点.非常感谢你的帮助.