相关疑难解决方法(0)

资源字典中带有标题的多项目组合框?

我已经按照这个问题的公认答案定义了一个带有标题的多列组合框。

它对我不起作用,所以我对其进行了一些更改,现在它可以工作了。这是创建带有标题的多列组合框的 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)

c# wpf xaml combobox

4
推荐指数
1
解决办法
7375
查看次数

如何在WPF中使用XAML设置ComboBox标头

我花了最近几天试图为我的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来做到这一点.非常感谢你的帮助.

data-binding wpf xaml combobox

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

combobox ×2

wpf ×2

xaml ×2

c# ×1

data-binding ×1