c# - 如何在 UWP ListView 的最后一列中添加文本框?

标签 c# visual-studio xaml uwp

每当 UWPlistview 的最后一列时,我想在下面添加 textbox

Thins 是我的 MainPage.xaml

<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

非常感谢:)

最佳答案

如果我对您的问题的理解正确,您首先想显示 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。选择适合您需要的布局。

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

请注意,我还删除了 DataTemplate 中的 Grid,因为它不是必需的。

关于c# - 如何在 UWP ListView 的最后一列中添加文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45368981/

相关文章:

c# - gridviewcolumn 中的复选框(标题)

c# - 我可以将 BaseUri 分配给 XDocument 吗?

.net - 启动配置文件初始化程序 : Unable to parse the launchSettings. json 文件

c# - 在 xaml 中使用自定义 RoutedUICommand 会引发异常

WPF ListView VerticalScrollBar 未显示

c# - 如何循环 SQL 参数列表和 WHERE 子句?或者更有效地获得结果?

c# - 如何反编译 ASP.NET/C# Web 应用程序

sql - SSRS 报告以及每条记录的相关子报告

c++ - 带有 CUDA 的 Visual Studio 2017 无法打开包含文件 'cuda.h'

wpf - 如何将 ViewModel 的 ObservableCollection 绑定(bind)到 MenuItem?