2014-10-17 83 views
0

我創建了一個新的窗口,然後我打電話使用下面的代碼:如何在對話窗口中設置的DataContext上對其父的DataContext

NieuwSimulatie NiewSimulatieWindow = new NieuwSimulatie() 
{ 
    Owner = this 
}; 

bool? SimulatieAangemaakt = NiewSimulatieWindow.ShowDialog(); 

在窗口「NieuwSimulatie」我想有相同DataContext的在我的主窗口,或者我想直接使用的RelativeSource我geuss數據綁定控件到DataContext,我已經試過:

<Controls:SplitButton x:Name="ProjectNaam" 
         DisplayMemberPath="ProjectNaam" 
         ItemsSource="{Binding Static.Projecten, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Controls:MetroWindow}}"/> 

但是,這是行不通的。

請幫我修復我的DataBinding,或者幫我設置窗口的DataContext到MainWindow後面的DataContext。

+0

d你在創建子窗口時的意思是'DataContext = this.DataContext'? – dkozl 2014-10-17 13:26:31

+0

我試過了,它返回null,現在我意識到這是因爲窗口還沒有完成構造。我是一個白癡:( – user3692104 2014-10-17 13:29:17

回答

0

我有你有從那裏您創建的窗口,怎麼樣查看在您的DataContext:

NieuwSimulatie NiewSimulatieWindow = new NieuwSimulatie() 
{ 
    Owner = this, 
    DataContext = YourDataContext; 
}; 

bool? SimulatieAangemaakt = NiewSimulatieWindow.ShowDialog(); 
0

要做到你的要求通常是完成創建新窗口時,因爲它們是兩個Windows最好是通過上下文中......這樣的:

NieuwSimulatie MyNewWindow = new NieuwSimulatie(DataContent); 
MyNewWindow.Show(); 
0

我認爲你需要做的是這樣的:

NieuwSimulatie NiewSimulatieWindow = new NieuwSimulatie() 

NiewSimulatieWindow.DataContext=this.DataContext; 

bool? SimulatieAangemaakt = NiewSimulatieWindow.ShowDialog(); 
+0

'ItemSource'將需要更新以反映這種變化 – MickyD 2014-10-18 11:19:29

相關問題