UWP开发问题

时间:2018-01-05 11:28:27

标签: c++ uwp

我正在开发UWP应用,并希望按代码为GridViewListView设置2列。

代码:

GridView ^gView = ref new GridView();
ListView ^lView = ref new ListView();

我无法以编程方式找到任何代码或文档。感谢。

1 个答案:

答案 0 :(得分:1)

  

是的我希望网格有2列。例如,第一列是属性,第二列是数据。如何通过代码实现它。

我无法理解为什么要以编程方式执行此操作。通常,直接在XAML页面上自定义其DataTemplate非常简单。例如:

<GridView ItemsSource="{Binding xx}">
        <GridView.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition></ColumnDefinition>
                        <ColumnDefinition></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <TextBlock Grid.Column="0" Text="{Binding property}"></TextBlock>
                    <TextBlock Grid.Column="1" Text="{Binding data}"></TextBlock>
                </Grid>
            </DataTemplate>
        </GridView.ItemTemplate>
</GridView>

如果必须以编程方式指定DataTemplate,则可以执行以下操作:

<Page.Resources>
    <DataTemplate x:Key="datatemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="0" Text="{Binding property}"></TextBlock>
            <TextBlock Grid.Column="1" Text="{Binding data}"></TextBlock>
        </Grid>
    </DataTemplate>
</Page.Resources>

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <GridView x:Name="gd" ItemsSource="{Binding}">

    </GridView>
</Grid>
public MainPage()
{
    this.InitializeComponent();
    gd.ItemTemplate = this.Resources["datatemplate"] as DataTemplate;
}

这是C#代码,您需要将其转换为C ++。