我使用DependencyProperty從DialogWindow傳遞參數到UserControl。 我想要在UserControl構造函數內部的參數傳遞給視圖模型。WPF - 從對話窗口傳遞參數到UserControl
該屬性總是返回null,並且永遠不會被設置。
代碼:
主窗口:
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的設置移至Loaded事件處理程序。 – madiden
使用回調方法我發現在View實例完成後,該屬性被設置,並使用您在註釋中提供的鏈接,現在我可以訪問正確的值。您能否更新您的答案以在評論中包含鏈接。謝謝:) – IBRA