사용자 정의 컨트롤을 포함하는 주 창을 가진 WPF 응용 프로그램이 있습니다. 주 창에서 사용자 정의 컨트롤로 값을 전달하고 싶습니다. 메인 윈도우의 생성자에서
내가 가진 코드 :public UserControl1()
{
InitializeComponent();
this.ID = ID.GetNewID;
}
public UserControl1(string name)
{
InitializeComponent();
_vm = new UCViewModel(name);
this.DataContext = _vm;
this.ID = ID.GetNewID;
}
문제는 다음과 같습니다 :
사용자 제어는 두 개의 생성자가
public MainWindow()
{
InitializeComponent();
_vm = new MainWindowViewModel();
this.DataContext = _vm;
ucControl = new UserControl1("NameSet");
}
(ucControl 내 사용자 컨트롤입니다)
하지만 두 번째 생성자 (매개 변수 사용)가 호출되면 기본 창에로드되지 않습니다. ID (this.ID) 사용자 정의 컨트롤의로드 된 이벤트 확인 및 ID를 기본 생성자 및 해당 DataContext null 집합을 참조하십시오. 이러한 이유 때문에 사용자 컨트롤에 "이름"문자열이 표시되지 않습니다.도움이 필요하십니까? MVVM 패턴을 사용하고 있기 때문에 사용자 컨트 롤 (뷰)의 속성을 기본 창에서 설정되도록 노출하고 싶지 않습니다.
거기에서이 usercontrol을로드 했습니까? –
사용자 컨트롤이 주 창의 xaml에 있습니다. –
thewpfguy
나는 질문 http://stackoverflow.com/questions/4802278/how-do-you-pass-parameters-from과 비슷한 것 같다 -xaml. 도움이 될 것입니다. –