Как отобразить значение из выпадающего списка в silverlight? - PullRequest
2 голосов
/ 28 октября 2009

Я пытаюсь изучить Expression Blend и SilverLight. То, чего я пытаюсь добиться, это вывести выбранный элемент из выпадающего списка в текстовый блок. Может ли кто-нибудь указать мне правильное направление или показать мне C # о том, как это делается? Это мой текущий код:

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();
}

Ответы [ 4 ]

1 голос
/ 28 октября 2009

Вы можете сделать что-то вроде этого:

   <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}" />
0 голосов
/ 22 июня 2010

Вы можете отобразить выбранное значение комбинированного списка в текстовое поле в Silverlight следующим образом:

TextBox1.Text = (cmbApplicationStatus.SelectedItem as ComboBoxItem).Content.ToString();

здесь, cmbApplicationStatus - это название вашего комбокса

0 голосов
/ 28 октября 2009

Свяжите текст вашего текстового блока с полем со списком. Текст.

0 голосов
/ 28 октября 2009

Я думаю, вам нужно SelectedValue вместо SelectedItem

Или

((OriginClass)Origin.SelectedItem).value;
...