【问题标题】:How to dynamically create hubsections in windows universal apps如何在 Windows 通用应用程序中动态创建集线器部分
【发布时间】:2015-03-13 19:13:16
【问题描述】:

我有一个 ObservableCollection,其中包含许多对象,这些对象取决于用户与应用的交互。

我想将每个对象表示为HubSection,由于我不知道对象的数量,因此必须从 View 背后的代码动态生成 HubSection。

在视图后面的代码(xaml.cs 文件)中,我创建了一个遍历集合的循环,并在每次迭代中开始创建 HubSection。

for (int i = 0; i < list_size; i++)
        {
            tempHubSection = new HubSection();
            tempHubSection.Header = vm.MyCollection[i].Name;
            DataTemplate dt = new DataTemplate();
            ???
            mainHub.Sections.Add(tempHubSection);
        }

但我对如何创建一个 DataTemplate 并在其中插入一个 Grid 有点困惑,例如:

<HubSection Width="700" Header="object-1">
      <DataTemplate>
                <Grid>
                        ...
                </Grid>
       </DataTemplate>
</HubSection>

谢谢。

【问题讨论】:

    标签: c# xaml windows-store-apps win-universal-app


    【解决方案1】:

    将您的DataTemplate 代码移动到app.xaml 文件的资源部分,给出名称,例如myTemplate

      <DataTemplate  x:Key="myTemplate">
                <Grid>
                        ...
                </Grid>
       </DataTemplate>
    

    然后你就可以在代码中分配它了:

    mainHub.Template = (ControlTemplate)App.Current.Resources["myTemplate"];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多