Как отобразить значение из выпадающего списка в silverlight?

2

Я пытаюсь изучить 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();
}
Теги:
silverlight-3.0

4 ответа

1

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

   <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
    Спасибо, но поле со списком связано с образцом данных, так что это не работает
  • 0
    Я просто редактирую приведенный выше пример, чтобы использовать пример данных
0

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

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

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

0

Привяжите текст вашего текстового блока к combobox.Text.

  • 0
    это неправда, потому что он хочет «Привет, блаблабла» в своем текстовом блоке, а не просто текст в выпадающем списке
0

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

или

((OriginClass)Origin.SelectedItem).value;
  • 0
    Спасибо, но это не сработало. Когда я запускаю свой код, он выводит «Expression.Blend.SampleData.OriginData.Item»

Ещё вопросы

Сообщество Overcoder
Наверх
Меню