2009-10-28 6 views
2

Expression Blend와 SilverLight를 배우려고합니다. 달성하고자하는 것은 콤보 상자에서 선택한 항목을 textBlock으로 출력하는 것입니다. 어느 누구도 올바른 방향으로 나를 가리키거나 이것이 어떻게 수행되는지에 대해 C#을 보여줄 수 있습니까? 난 당신이 SelectedValue 대신 바인드 combobox.Text로 된 본체의 텍스트Silverlight에서 콤보 상자의 값을 표시하는 방법은 무엇입니까?

SelectedItem 또는

((OriginClass)Origin.SelectedItem).value; 

답변

0

: 이것은 내 현재 코드입니다.

<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}" /> 

을 그리고 당신의 "안녕하세요 ...."문자열로 변환하는 변환기를 사용

+0

감사의 이름하지만하셨습니까 '입니다 일하지 마라. 내 코드를 실행하면 "Expression.Blend.SampleData.OriginData.Item"이 출력됩니다. – ivordesign

0

필요가 있다고 생각

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

이 사실이 아닙니다. 왜냐하면 그는 "안녕하세요 blablabla"를 자신의 텍스트 블록에 넣고 싶기 때문이며, 단지 콤보 상자의 텍스트가 아닙니다. – Natrium

1

은 당신이 뭔가를 할 수 있습니다.

샘플 데이터로도 작업 할 수 있습니다. 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}" /> 
+0

감사합니다. 그러나 콤보 상자에 샘플 데이터가 바인딩되어있어 작동하지 않습니다. – ivordesign

+0

샘플 데이터를 사용하기 위해 위의 예를 편집하기 만하면됩니다. –

0

다음과 같이 실버에서 텍스트 상자에 콤보 상자의 선택된 값을 표시 할 수 있습니다 : 여기

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

, cmbApplicationStatus은 콤보

관련 문제