将动态模板添加到网格

时间:2011-11-01 09:41:10

标签: c# silverlight windows-phone-7

我有一个视图,我正在尝试将它用于多个场景,所以我必须动态加载我的模板。 我有一个名为Content_Panel的网格,我希望在其中添加toolkit:LongListPicker

<toolkit:LongListSelector x:Name="_List" 
                          Background="Transparent" 
                          IsFlatList="True"   
                          ItemTemplate="{StaticResource SmallImageTemplate}"
                          ListHeaderTemplate="{StaticResource ListHeader}" 
                          ListFooterTemplate="{StaticResource ListFooter}" />

我希望能够动态添加模板名称(因此,根据onNavigatedTo上的变量,我可以选择正确的模板。我该怎么做?

1 个答案:

答案 0 :(得分:0)

嗯,你不能这样做只是。最简单的方法是在OnNavigatedTo事件中以C#切换模板。

类似的东西:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    if (NavigationContext.QueryString.ContainsKey("template"))
    {
        var template = NavigationContext.QueryString["template"];
        switch (template)
        {
            case "small"
                _List.ItemTemplate = Resources["SmallImageTemplate"] as ContentTemplate;
            case "big"
                _List.ItemTemplate = Resources["BigImageTemplate"] as ContentTemplate;
        }
    }
}