我有一个ContentControl,我想加载页面myPage2。我的XAML Codefrom这个页面看起来像这样:将页面加载到ContentControl中
<Page x:Class="ExampleApp.myPage2">
<Grid x:Name="Content" Height="651" Width="941" Background="White">
...
...
</Grid>
</Page>
我知道,我可以从一个页面加载的资源与此代码:
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
{
var contentControl = (ContentControl)container;
return (DataTemplate) contentControl.Resources[templateKey];
}
我现在的问题是,我无法加载一个页面像上面这样的代码。我写这篇文章:
<Page x:Class="ExampleApp.myPage2">
<Page.Resources>
<DataTemplate x:Key="Test">
<Grid x:Name="Content" Height="651" Width="941" Background="White">
...
...
</Grid>
</DataTemplate>
</Page.Resources>
</Page>
,然后我可以从上面templateKey="Test"
加载代码相同的页面。但主要问题是我想使用页面的第一个声明,而不想使用<Page.Resources> <DataTemplate x:Key="Test">
等等。我想直接从第一个声明中加载站点(本文后的第一个代码)。如何直接从页面创建DataTemplate?或者是否有其他方式将页面加载到ContentControl中?
大感谢你,完美的作品。我没有关于UserControls - 真的很棒的解决方案。 – Cilenco 2013-04-26 18:26:25