2011-12-01 5 views
1

WPF 페이지 내에 StackPanel이 있는데 사용자 요청에 따라 동일한 UserControl을로드합니다. 이제 각 UserControls 들어, 내가 안에있는 항목을 얻을 필요가있다. UserControl은 달력과 3 개의 콤보 상자로 구성됩니다. 아이템을 어떻게 얻을 수 있습니까?StackPanel에서 UserControl의 내용 가져 오기

foreach (UserControl child in stk.Children) 
{ 

} 

와 자식 그러나 나는 모든 어린이의 내용이 데이터베이스에 확인하고 저장하는 방법을 알아 찾을 수없는, 내용이 필요한있다 : -

지금까지 나는 다음 있습니다. 나는 child.FindControl ("combobox1")을 시도했으나 작동하지 않았습니다. 여러분의 도움과 시간

+0

어디에서 child.FindControl ("combobox1")을 부르시겠습니까? 당신이 전화 할 때 아이가 실려 있습니까? –

+0

자식이 데이터를 가지고 있으므로 사용자 정의 컨트롤을로드해야합니까? UCPageControl처럼 ucPControl = 새로운 UCPageControl? 그리고 나서 아이의 데이터를이 ucPControl로 옮깁니 까? – Johann

+0

아니요, 부모 컨트롤이 완전히로드되기 전에 child.FindControl ("combobox1")을 호출하면 null을 반환 할 수 있습니다. 그게 내가 어디에서 부른 거냐고 물었던거야? 예외가 발생하거나 코드가 작동하지 않습니까? –

답변

0

에 대한

덕분에 당신은 Content의 보류를 얻을 수 있습니다. 그러나 UI에서 이러한 일을하지 말고 UI에서 데이터를 가져 오면 안됩니다. UI는 ViewModel 또는 Model에서 데이터를 가져와 필요할 때 업데이트해야합니다 (이것은 바인딩을 통해 이루어집니다). 그래서 데이터가 필요하다면 ViewModel은 UI가 아닌 볼 곳이어야합니다.

+0

안녕하세요, Mben 저는 MVVM 패턴을 아직 사용하지 않고 있으며, 기본적인 것들을하고 있습니다. 그래서 내가 페이지에서 컨트롤을로드한다고 가정 해 봅시다. 어떻게 모델로부터 데이터를 가져올 수 있습니까? – Johann

관련 문제