如何在UWP的listview的最后一列中添加文本框?

时间:2017-07-28 08:50:27

标签: c# visual-studio xaml uwp

我想在textbox的{​​{1}}的最后一列中添加listview

这是我的 MainPage.xaml

UWP

如果我将<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <ListView x:Name="MyList"> <ListView.ItemTemplate> <DataTemplate> <Grid> <StackPanel> <TextBlock Text="{Binding todo}" ></TextBlock> <TextBlock Text="{Binding checkList}"></TextBlock> <TextBlock Text="{Binding date}"></TextBlock> </StackPanel> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView> </Grid> 放在TextBox内。 StackPanel显示在列内。 但我想知道如何在最后一列时添加textbox

非常感谢你:)

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,首先要在ListView中显示所有项目,然后在最后一项下方显示一个TextBox

只需将TextBox放在ListView之外。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <StackPanel>
        <ListView x:Name="MyList">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Text="{Binding todo}" ></TextBlock>
                        <TextBlock Text="{Binding checkList}"></TextBlock>
                        <TextBlock Text="{Binding date}"></TextBlock>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
        <TextBox x:Name="MyTextBox" />
    </StackPanel>
</Grid>

我使用StackPanel将它们放在彼此之下,但您也可以使用RowDefinition s。选择适合您需求的布局。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <ListView x:Name="MyList" Grid.Row="0">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding todo}" ></TextBlock>
                    <TextBlock Text="{Binding checkList}"></TextBlock>
                    <TextBlock Text="{Binding date}"></TextBlock>
                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
    <TextBox x:Name="MyTextBox" Grid.Row="1" />
</Grid>

请注意,我还删除了Grid中的DataTemplate,因为没有必要。