向网格添加动态模板

本文关键字:动态 添加 网格 | 更新日期: 2023-09-27 18:13:19

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

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

我希望能够动态地添加模板名称(所以,根据我对onNavigatedTo有什么变量,我可以选择正确的模板。我该怎么做呢?

向网格添加动态模板

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

类似:

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;
        }
    }
}