在 Windows 应用商店拆分应用程序中,我想将视图模型从页面传递到用户控件。场景是我想在多个页面中重用一些常见的 xaml,使用像视图这样的 UserControl。
在主页中:
<common:LayoutAwarePage
...
DataContext="{Binding ViewModel, RelativeSource={RelativeSource Self}}"
... >
<views:MyUserControlView Model="{Binding ViewModel}" />
...
在用户控制代码中:
public sealed partial class MyUserControlView : UserControl
{
public static readonly DependencyProperty ModelProperty =
DependencyProperty.Register("Model", typeof(MenuSource),
typeof(MyUserControlView), null);
...
public ModelType Model
{
get
{
return this.GetValue(ModelProperty) as ModelType ;
}
set
{
this.SetValue(ModelProperty, value);
}
}
模型设置器永远不会被调用。如何将用户控件连接到父页面的视图模型?
或者,是否有更好的方法来实现在页面中使用的共享视图?
谢谢。
-约翰