【问题标题】:Description in UWP ComboBoxUWP ComboBox 中的说明
【发布时间】:2020-10-17 08:07:27
【问题描述】:

我正在尝试获取一个组合框(或等效项),以在下拉列表中包含对该选项的简短描述以及标题,如我所做的快速涂鸦所示: dropdown doodle that I can't embed in question, sorry

我曾尝试在谷歌上搜索一个选项,但运气不佳。谢谢!

【问题讨论】:

    标签: user-interface uwp combobox controls


    【解决方案1】:

    正如 Luca Lindholm 所说,您需要自定义 ComboBox.ItemTemplate。 你可以看到结果。

    Xaml 代码:

        <ComboBox x:Name="combo" Width=" 200" Margin="20 0 0 0" SelectedIndex="0">
            <ComboBox.ItemTemplate>
                <DataTemplate x:DataType="local:UserSS">
                    <StackPanel>
                        <TextBlock Text="{x:Bind option}"/>
                        <TextBlock Text="{x:Bind option_desc}" Margin="20 0 0 0"/>
                    </StackPanel>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
    

    cs代码:

        List<UserSS> list = new List<UserSS>();
        for(int i = 0; i < 9; i++)
        {
            UserSS user = new UserSS
            {
                option = "Option" + i.ToString(),
                option_desc = "Desc" + i.ToString()
            };
            list.Add(user);
        }
        combo.ItemsSource = list;
    

    【讨论】:

      【解决方案2】:

      嗯,你可以选择自定义ComboBoxItemTemplate,并通过:

      • 为对象创建 ViewModel 并为应用创建主 ViewModel...
      • 创建DataTemplate 并将其设置为ItemTemplate ComboBox...
      • 在主 ViewModel 中将 ObservableCollection 与您的对象 ViewModel 一起使用,作为您的 ComboBoxItemsSource...
      • 最后将DataTemplate 中的 XAML 数据绑定到对象视图模型的属性...

      ...你应该没事的。

      问候

      【讨论】:

        猜你喜欢
        • 2016-05-15
        • 2019-02-15
        • 2017-04-30
        • 2018-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-16
        相关资源
        最近更新 更多