【发布时间】:2016-08-08 09:28:22
【问题描述】:
从教程中我有以下组合框:
<ComboBox Name="comboBox_warnColor" Margin="5,0,5,0" SelectionChanged="comboBox_warnColor_SelectionChanged">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Rectangle Fill="{Binding Name}" Width="12" Height="12" Margin="0,2,5,2" />
<TextBlock Name="PART_ColorName" Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
我这样填充它:
comboBox_warnColor.ItemsSource = typeof(Colors).GetProperties();
我想将所选项目保存在文本文件中,以便稍后再次将其加载到组合框。
在这种情况下使用它可以节省什么价值? 或者 什么是默认定义颜色的好 ID 值?
SelectedIndex 除了我找不到。
【问题讨论】:
-
您查看过 SelectedItem 吗?它返回与您的 ItemSource 集合中相同的类型。您可以从中提取 Name 或任何您想要的属性。
-
这正是重点。当然,我可以使用
comboBox_warnColor.SelectedItem.ToString().Split(' ')[1]之类的方法来提取它,但这似乎不是很好的风格。 -
所以您的实际问题是,对于默认定义的颜色,什么是好的 ID 值?
-
没错。我添加了你的措辞作为我的问题。
-
您是否已经尝试将
<ComboBox SelectedValuePath="Name" SelectedValue="{Binding Path=SelectedName}" ...与SelectedName作为DataContext中的一个属性?