2010-11-22 115 views
0

我需要在運行時將用戶控件添加到窗口。現在我的問題是,我需要首先實例化窗口,然後將用戶控件添加到該窗口。畢竟這只是將顯示如何在運行時將用戶控件添加到窗口?

我的想法的窗口是這樣的:

創建用戶控制第一實例:

 string managedClassName = "SupplierModule.Views.SupplierInvoiceView, SupplierModule"; 

    var userControl = Activator.CreateInstance(Type.GetType(managedClassName)); 

然後創建窗口:

 NavigationWindow navigationWindow = new NavigationWindow(); 

然後將用戶控件添加到窗口。

所以我的問題是,我如何將此用戶控件添加到窗口?

我不知道我是否以正確的方式接近它。所以如果錯了,請指出我的方向。

感謝

回答

1

您正在使用WPF和MVVM

1-定義下面的代碼在XAML

<ContentControl 
      Margin="10,0" 
      Grid.Column="1" 
      HorizontalAlignment="Stretch" 
      VerticalAlignment="Stretch" 
      Content="{Binding TableDetailsDataFormView}"/> 

2 - 定義在您的視圖模型一個TableDetailsDataFormView屬性。

3-創建ViewModel時分配屬性TableDetailsDataFormView。

4-我假設你已經實現了INotifyPropertyChanged的話叫此時,相應的方法通知UI

+0

我的導航窗口與我現在創建的解決方案位於不同的項目中。是否有一個原因,我無法訪問窗口中的任何方法或屬性? – Willem 2010-11-22 07:07:35

0

如果你想使用NavigationWindow,你應該使用一個頁面向其中添加用戶控件。首先創建一個Page,然後將Page.Content設置爲用戶控件,然後使用Navigate(page)導航到此頁面。

相關問題