我试图让WPF窗口能够加载到窗口上相同位置的不同控件中。我的判断是框架很好地完成了这项任务。如果我错了,请纠正我。
所以我试图通过编辑包含Frames源的数据绑定字符串来使帧加载不同的页面。我已设法做到这一点,但目前我不知道如何将帧数据共享到托管框架的Windows视图模型。 我正在使用MVVM而且我认为如果我还可以数据绑定一个" viewmodel"在frame datacontext中,我可以选择加载哪个页面以及页面应该使用哪个datacontext,所有这些都来自主机窗口,因此可以访问它。
下面是我的xaml。
<Window x:Class="View.Window"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window" Height="300" Width="300">
<Grid>
<Frame NavigationUIVisibility="Hidden" DataContext="{Binding WindowClass.DataContext}" Source="{Binding WindowClass.FrameURI}"/>
</Grid>
但是,如果我现在通过此绑定分配页面datacontext,而不是在后面的代码中,则不会加载任何内容。现在我基本上得到了一个空白框架。
如果有人愿意提供一个例子或参考解释正确/正确的方法,请满足我对知识的渴望!
先谢谢!
答案 0 :(得分:0)
您可以使用Window.Resources
绑定到DataContext
,然后绑定到FrameURI
(您需要修复相应的namespace
而不是我的自定义{{} 1}}):
xmlns:WindowClass
您可以找到一个非常基本的教程here