我有ListView
我需要在XAML中添加固定数量的项目。 (我不需要动态地将项添加到列表中,我也想在xaml中处理数据绑定。)
我了解如何使用ListViewItems
<ListViewItem content="blah"/>
我想做的是:
<ListViewItem><TextBox/><Label/></ListViewItem>
其中TextBox被指定为listview中的第一列,而标签指定给第二列。
这只能在XAML中完成吗?没有代码隐藏。是否可以使用数据网格?
答案 0 :(得分:0)
如果您的ListView中只需要一行,并且有多列,则可以将ItemsPanel更改为具有水平方向的StackPanel
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"></StackPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
如果ListView中需要多行,您仍然可以使用stackpanel作为ListViewItem将多个元素(水平)放在一行中,并在其中放置子控件。
<ListView>
<ListViewItem>
<StackPanel Orientation="Horizontal">
<TextBox></TextBox>
<Label></Label>
</StackPanel>
</ListViewItem>
</ListView>
编辑:
要使列具有特定类型的控件,可以将CellTemplate分配给GridView的列。
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="TextBoxColumn">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Anything}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
但是,您仍然需要从代码隐藏中填充gridview。