这是框架的XAML:
<Frame Name="HostingFrame" SourcePageType="{Binding HostFramesource, Mode=TwoWay}" />
在我的viewModel中这里是代码:
//The current Page to be loaded in the view
private Type hostFramesource;
public Type HostFramesource
{
get
{
return hostFramesource;
}
set
{
hostFramesource = value;
SetComboBox();
OnPropertyChanged("HostFramesource");
}
}
我知道绑定本身是有效的,因为无论何时调用setter,getter都会被调用。但显然属性SourcePageType
由于某种原因总是保持为空。
我可以想象设置这样的属性需要更多的工作或者其他东西,因为它创建了一个应该在这个框架内托管的页面的新实例,但我不知道该怎么做。
答案 0 :(得分:1)
添加“Mode = TwoWay”为我解决了这个问题。
<Frame SourcePageType="{Binding CurrentPageType, Mode=TwoWay}"/>