【问题标题】:How to display static table/grid in UWP without using itemsource?如何在不使用 itemssource 的情况下在 UWP 中显示静态表格/网格?
【发布时间】:2018-05-04 12:29:16
【问题描述】:

对于我的项目,我想在 UWP 应用程序中显示一个 3 行每行 4 列的网格/表格。所有列都有一个文本框控件。我不想在网格上显示任何数据,而是想从用户那里获取输入。我试过网格/网格视图控件。我不太确定如何使用文本框控件指定 xaml 以显示 3 行和 4 列?像这张图。

非常感谢任何建议。

【问题讨论】:

  • 你试过 Telerik 控件 - RadDataGridView 吗?
  • 没有。我试图使用基本的 UWP 控件。
  • UWP 中没有 GridView 控件可以满足您的要求,您只需要使用第三方控件
  • Exaclty,它可以根据您的需要进行定制,并且有可用的开源版本。

标签: xaml listview gridview uwp grid


【解决方案1】:

XAML

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid x:Name="MyTableGrid" BorderBrush="Black" BorderThickness="2">
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>

        <Border Grid.Column="0" Grid.Row="0" BorderThickness="2" BorderBrush="Black">
            <TextBlock Text="Column 1" FontSize="25" TextAlignment="Center"/>
        </Border>
        <Border Grid.Column="1" Grid.Row="0" BorderThickness="2" BorderBrush="Black">
            <TextBlock Text="Column 2" FontSize="25" TextAlignment="Center"/>
        </Border>
        <Border Grid.Column="2" Grid.Row="0" BorderThickness="2" BorderBrush="Black">
            <TextBlock Text="Column 3" FontSize="25" TextAlignment="Center"/>
        </Border>
        <Border Grid.Column="3" Grid.Row="0" BorderThickness="2" BorderBrush="Black">
            <TextBlock Text="Column 4" FontSize="25" TextAlignment="Center"/>
        </Border>


        <Border Grid.Column="0" Grid.Row="1" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="1" Grid.Row="1"  BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="2" Grid.Row="1" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="3" Grid.Row="1" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="0" Grid.Row="2" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="1" Grid.Row="2" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="2" Grid.Row="2" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="3" Grid.Row="2" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="0" Grid.Row="3" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="1" Grid.Row="3" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="2" Grid.Row="3" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
        <Border Grid.Column="3" Grid.Row="3" BorderThickness="2" BorderBrush="Black">
            <TextBox BorderBrush="Gray" BorderThickness="5" Height="65" Width="135"/>
        </Border>
    </Grid>        
</Grid>

输出

我制作了您的屏幕截图的粗略示例,您可以在行和列定义中编辑行和列的高度和宽度,目前我还没有设置任何高度和宽度,这是为了一般的想法,所以您需要自定义它自己的方式

建议

添加新的用户控制页面并将其用作表格,然后在您的主页中引用它,因此您可以随时单独自定义它,并更清楚地进行数据绑定和保存用户输入

【讨论】:

  • 谢谢:)。是否可以从后面的代码逐行遍历网格控件?
  • 您可以在网格和其他元素中插入“名称”以吸引后面代码中的元素
  • @XavierXie-MSFT - 使用 Telerik 的数据网格来解决这个问题。
  • @user1814131 如果您的问题已经解决,您可以在此线程中添加答案并将其标记为accepted,以方便以后访问此线程的人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 2021-11-10
  • 2012-02-06
  • 1970-01-01
  • 2012-06-18
  • 2010-09-15
相关资源
最近更新 更多