Я пытаюсь изучить Expression Blend и SilverLight. То, что я пытаюсь достичь, выводит выбранный элемент из combobox в textBlock. Может ли кто-нибудь указать мне в правильном направлении или показать мне С# о том, как это делается? Это мой текущий код:
private void GetSubmitBtn(object sender, System.Windows.RoutedEventArgs e)
{
this.Message.Text =
"Hello there " + this.Firstname.Text + " " + this.Surname.Text
+ ". You come from " + this.Origin.SelectedItem.ToString();
}
Вы можете сделать что-то вроде этого:
<ComboBox x:Name="Names">
<ComboBoxItem Content="John Doe" />
<ComboBoxItem Content="Jane Doe" />
<ComboBoxItem Content="Jack Black" />
<ComboBoxItem Content="Jake White" />
<ComboBoxItem Content="Kelly Blue" />
</ComboBox>
<TextBlock Text="{Binding SelectedItem.Content, ElementName=Names}" />
И просто используйте конвертер для перевода в строку "Hello....".
Вы можете сделать это с помощью Sample Data. Создайте образцы данных с помощью столбца с именем FullName.
В вашей ссылке XAML ваши данные примера (похожие на это)
<UserControl.Resources>
<SampleData:SampleDataSource x:Key="SampleDataSource" d:IsDataSource="True"/>
</UserControl.Resources>
Тогда ваши ComboBox
и TextBlock
изменились бы на это.
<ComboBox x:Name="Names" DataContext="{Binding Source={StaticResource SampleDataSource}}" DisplayMemberPath="FullName" ItemsSource="{Binding Collection}"/>
<TextBlock Text="{Binding SelectedItem.FullName, ElementName=Names}" />
вы можете отобразить выбранное значение combobox в текстовое поле в silverlight следующим образом:
TextBox1.Text = (cmbApplicationStatus.SelectedItem as ComboBoxItem).Content.ToString();
здесь, cmbApplicationStatus
- это имя вашего списка со списком
Привяжите текст вашего текстового блока к combobox.Text.
Я думаю, вам нужно SelectedValue
вместо SelectedItem
или
((OriginClass)Origin.SelectedItem).value;