我创建了一个新窗口,然后使用以下代码调用它:
NieuwSimulatie NiewSimulatieWindow = new NieuwSimulatie()
{
Owner = this
};
bool? SimulatieAangemaakt = NiewSimulatieWindow.ShowDialog();
在Window“NieuwSimulatie”中我想拥有与我的MainWindow相同的DataContext,或者我想使用RelativeSource I geuss将控件直接DataBind到DataContext,Ive尝试过:
<Controls:SplitButton x:Name="ProjectNaam"
DisplayMemberPath="ProjectNaam"
ItemsSource="{Binding Static.Projecten, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Controls:MetroWindow}}"/>
但这不起作用。
请帮我修复我的DataBinding或帮我设置我的Window的DataContext到MainWindow后面的DataContext。
答案 0 :(得分:1)
我可以从你创建窗口的位置访问你的DataContext,那是怎么回事:
NieuwSimulatie NiewSimulatieWindow = new NieuwSimulatie()
{
Owner = this,
DataContext = YourDataContext;
};
bool? SimulatieAangemaakt = NiewSimulatieWindow.ShowDialog();
答案 1 :(得分:0)
通常在创建新窗口时执行您所要求的操作,因为它们是两个Windows,因此最好传递上下文...像这样:
NieuwSimulatie MyNewWindow = new NieuwSimulatie(DataContent);
MyNewWindow.Show();
答案 2 :(得分:0)
我认为你需要这样做:
NieuwSimulatie NiewSimulatieWindow = new NieuwSimulatie()
NiewSimulatieWindow.DataContext=this.DataContext;
bool? SimulatieAangemaakt = NiewSimulatieWindow.ShowDialog();