我为Win 8.1和RT编写了一个小应用程序。我想创建一个包含多个部分的Hub。在设计时我不知道会有多少部分,我不知道他们的内容。所以我只是在设计时在XAML中创建一个空的Hub:
<Hub x:Name="MainHub" Grid.Row="2" Grid.Column ="1">
</Hub>
在运行期间,我使用他们的komplex内容创建我的Hubsections。在XAML中,我会这样写:
<Hub x:Name="MainHub" Grid.Row="2" Grid.Column ="1">
<HubSection>
<DataTemplate>
<Grid Name="TemplateGrid">
...
</Grid>
</DataTemplate>
</HubSection>
</Hub>
我已经在C#中完全创建了我的TemplateGrid,现在我想将这个网格用作HubSection的DataTemplate(也是在C#中创建),最后将Hubsection添加到我的Hub:
MainHub.Sections.Add(hs);
如何将TemplateGrid用作DataTemplate。我找不到任何解决方案。 像
这样简单的东西hs.ContentTemplate = TemplateGrid as DataTemplate;
不起作用。
有人有想法吗?
谢谢。
赛扬
答案 0 :(得分:2)
在Page.Resources中移动您的模板,并将x:Key设置为&#34; TemplateGrid&#34;
<Page.Resources>
<DataTemplate x:Key="TemplateGrid">
<Grid>
...
</Grid>
</DataTemplate>
</Page.Resources>
你的代码中的:
hs.ContentTemplate = this.Resources [&#34; TemplateGrid&#34;]作为DataTemplate;