DependencyProperty를 사용하여 DialogWindow에서 UserControl로 매개 변수를 전달하고 있습니다. 뷰 모델에 전달하기 위해 UserControl 생성자 내에이 매개 변수를 사용하고 싶습니다.WPF - Dialog Window에서 UserControl에 매개 변수 전달
속성은 항상 null을 반환하고 설정되지 않습니다.
코드 :
MainWindow를 :
var dialog = new DialogWindow();
dialog.ShowDialog();
DialogWindow.xaml
<TabControl>
<TabItem Header="Data Source">
<local:DataSourceView Test="Something" />
</TabItem>
</TabControl>
DataSourceView.xaml.cs
public static readonly DependencyProperty TestProperty =
DependencyProperty.Register("Test", typeof(object), typeof(DataSourceView));
public object Test {
get { return (object)GetValue(TestProperty); }
set { SetValue(TestProperty, value); }
}
public DataSourceView() {
InitializeComponent();
DataContext = new DataSourceViewModel(Test);// Test is always null
}
여기에 비슷한 상황이있다 : [링크] (http://stackoverflow.com/questions/21717600/passing-parameters-between-xaml-window-and-usercontrol-wpf?rq=1) DataContext의 설정을로드 된 이벤트 처리기로 이동해야합니다. – madiden
콜백 메서드를 사용하면 View 인스턴스가 완료된 후에 속성이 설정되고 주석에 제공된 링크를 사용하여 이제 올바른 값에 액세스 할 수 있습니다. 댓글에 링크가 포함되도록 답변을 업데이트 해 주시겠습니까? 고마워요 :) – IBRA