我正在尝试学习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();
}
答案 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>
然后您的ComboBox
和TextBlock
会更改为此。
<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
是组合框的名称