UWP ComboBox 中的说明
Description in UWP ComboBox
我正在尝试获得一个组合框(或等效项)以在下拉列表中包含选项的简短描述以及标题,如我所做的这个快速涂鸦所示:
dropdown doodle that I can't embed in question, sorry
我曾尝试在谷歌上搜索一个选项,但运气不佳。谢谢!
嗯,你可以选择自定义ComboBox
的ItemTemplate,并通过:
- 正在为对象创建一个 ViewModel 并为应用程序创建一个主 ViewModel...
- 正在创建一个
DataTemplate
并将其设置为 ItemTemplate
ComboBox
...
- 在主 ViewModel 中将
ObservableCollection
与您的对象 ViewModel 一起使用,作为 ComboBox
... 的 ItemsSource
- 最后将
DataTemplate
内的 XAML 数据绑定到对象视图模型的属性...
...你应该没问题。
此致
正如 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;
我正在尝试获得一个组合框(或等效项)以在下拉列表中包含选项的简短描述以及标题,如我所做的这个快速涂鸦所示: dropdown doodle that I can't embed in question, sorry
我曾尝试在谷歌上搜索一个选项,但运气不佳。谢谢!
嗯,你可以选择自定义ComboBox
的ItemTemplate,并通过:
- 正在为对象创建一个 ViewModel 并为应用程序创建一个主 ViewModel...
- 正在创建一个
DataTemplate
并将其设置为 ItemTemplateComboBox
... - 在主 ViewModel 中将
ObservableCollection
与您的对象 ViewModel 一起使用,作为ComboBox
... 的 ItemsSource
- 最后将
DataTemplate
内的 XAML 数据绑定到对象视图模型的属性...
...你应该没问题。
此致
正如 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;