每当 UWP
中 listview
的最后一列时,我想在下面添加 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/