2013-10-08 1 views
1

그래서 내가 잘못한 방식으로 WPF를 사용하고로드에 동적으로 생성 된 객체들을 많이 가지고 있습니다 ... 나는 C#을 통해 databind하는 방법을 알아 내려고 노력하고 있습니다 ... 이것에 상응하는 C# 코드는 무엇이겠습니까?Databind에서 C#을 사용하고 WPF를 사용하지 않는 방법은 무엇입니까?

<StackPanel DataContext="{Binding SelectedGame}"> 
    <Label Content="{Binding HomeScoreText}" /> 
    <Label Content="{Binding AwayScoreText}" /> 
</StackPanel> 

나는이 온라인의 문제가 발견 예 .. 감사

+1

템플릿 자체가 동적, 또는 항목 및 바인드 된 데이터의 단지 수? 후자의 경우 템플릿이 정적이되도록 새 사용자 정의 컨트롤을 만든 다음 해당 사용자 컨트롤의 인스턴스를 동적으로 만들고 데이터를 바인딩합니다. 적어도 ... 나쁘지 않아. – Servy

+0

WPF에서 생성 된 것은 TabControl입니다. 다음 각 tabitem 내의 격자 및 스택 패널/레이블로드시 동적으로 SQL에서 데이터를 읽습니다. – user1189352

+0

여전히 불행히도 혼란 스럽습니다. bleh – user1189352

답변

2

MSDN 어떻게 Create a Binding In Code에 보여주는 샘플 페이지를 가지고하는 데 문제가 있습니다. 귀하의 경우에는

, 당신은을 통해 위를 할 수있는 :

StackPanel panel = new StackPanel(); 
Label label1 = new Label(); 
Label label2 = new Label(); 

panel.Children.Add(label1); 
panel.Children.Add(label2); 

var yourVM = GetYourCurrentViewModelWithSelectedGameProperty(); 

// Set data context 
Binding binding = new Binding("SelectedGame"); 
binding.Source = yourVM; 
panel.SetBinding(FrameworkElement.DataContextProperty, binding); 

binding = new Binding("HomeScoreText"); 
binding.Source = panel.DataContext; 
label1.SetBinding(ContentControl.ContentProperty, binding); 

binding = new Binding("AwayScoreText"); 
binding.Source = panel.DataContext; 
label2.SetBinding(ContentControl.ContentProperty, binding); 
+0

지금 고맙습니다. – user1189352

+0

@ user1189352 코드 샘플을 추가했습니다. –

+1

호기심 - 왜 downvoting입니까? 이 질문에 정확히 대답 ... –

관련 문제