ваш вопрос не очень понятен, кстати, вы можете сделать что-то вроде этого примера
xaml:
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<ComboBox Grid.Row="0" ItemsSource="{Binding listQuality}" SelectedItem="{Binding qualityChoose}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Item2}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Button Grid.Row="1" Content="Save" Click="Button_Click"/>
</Grid>
код программной части:
public List<Tuple<int, String>> listQuality { get; set; }
public Tuple<int, String> qualityChoose { get; set; }
public MainWindow()
{
InitializeComponent();
listQuality = new List<Tuple<int, string>>();
listQuality.Add(new Tuple<int, string>(0, "Fastest"));
listQuality.Add(new Tuple<int, string>(1, "Fast"));
listQuality.Add(new Tuple<int, string>(2, "Simple"));
listQuality.Add(new Tuple<int, string>(3, "Good"));
listQuality.Add(new Tuple<int, string>(4, "Beautiful"));
listQuality.Add(new Tuple<int, string>(5, "Fantastic"));
this.DataContext = this;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
int quality = qualityChoose.Item1;
}
когда вы нажимаете кнопку "Сохранить" в qualityChoose.Item1, появляется ваше значение
ИЗМЕНИТЬ
вместо этого, используя кортеж, вы можете использовать строку List‹>, как в вашем вопросе, измените xaml следующим образом:
...
<ComboBox Grid.Row="0" ItemsSource="{Binding listQuality}" SelectedIndex="{Binding selIndex}">
...
и в коде добавьте свойство "selIndex":
public int selIndex { get; set; }
в этом свойстве находится индекс выбранной строки. это проще, но вы не можете определить ценность качеств.
13.10.2016