如何在silverlight中显示组合框的值?

时间:2009-10-28 13:29:38

标签: c# silverlight-3.0

我正在尝试学习Expression Blend和SilverLight。我想要实现的是将组合框中的选定项输出到textBlock中。任何人都可以指出我正确的方向或向我展示一些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 个答案:

答案 0 :(得分: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 ....”字符串。

您也可以使用样本数据进行操作。使用名为FullName的列创建一些示例数据。

在您的XAML中引用您的样本数据(与此类似)

<UserControl.Resources>
    <SampleData:SampleDataSource x:Key="SampleDataSource" d:IsDataSource="True"/>
</UserControl.Resources>

然后您的ComboBoxTextBlock会更改为此。

        

<ComboBox x:Name="Names" DataContext="{Binding Source={StaticResource SampleDataSource}}" DisplayMemberPath="FullName" ItemsSource="{Binding Collection}"/>
<TextBlock Text="{Binding SelectedItem.FullName, ElementName=Names}" />

答案 1 :(得分:0)

我认为您需要SelectedValue而不是SelectedItem

或者

((OriginClass)Origin.SelectedItem).value;

答案 2 :(得分:0)

将文本块的文本绑定到combobox.Text。

答案 3 :(得分:0)

您可以在silverlight中将组合框的选定值显示到文本框中,如下所示:

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

此处,cmbApplicationStatus是组合框的名称