Wpf 是否可以在XAML中添加多个列对齐控件作为ListViewItems?
我有一个Wpf 是否可以在XAML中添加多个列对齐控件作为ListViewItems?,wpf,xaml,listview,Wpf,Xaml,Listview,我有一个列表视图,其中需要在XAML中添加固定数量的项。(我不需要动态地将项目添加到列表中,我也希望处理xaml中的数据绑定。) 我了解如何使用 我想做的是: <ListViewItem><TextBox/><Label/></ListViewItem> 其中,文本框指定为我的listview中的第一列,标签指定为第二列 这是否只可能在XAML中实现?没有代码隐藏。使用datagrid是否可行?如果ListView中只需要一行多列,则可以将I
列表视图
,其中需要在XAML中添加固定数量的项。(我不需要动态地将项目添加到列表中,我也希望处理xaml中的数据绑定。)
我了解如何使用
我想做的是:
<ListViewItem><TextBox/><Label/></ListViewItem>
其中,文本框指定为我的listview中的第一列,标签指定为第二列
这是否只可能在XAML中实现?没有代码隐藏。使用datagrid是否可行?如果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>
但是,您仍然需要从codebehind填充gridview。是否需要它们在同一行中显示为相邻的列?或者您需要单独的行/列中的项目吗?在同一行中彼此相邻。与gridview列对齐我将编辑答案,如果需要多行,可以将水平方向的stackpanel作为ListViewItem,如果只需要一行,可以将itemspanel方向更改为水平方向。我可以这样做。但真正的问题是控件需要与gridview列对齐。我的listview中有两列,用户可以调整它们的大小。好吧,你在问题中没有提到你最初有一个GridView,所以问题不是很具体。我认为没有办法只在XAML中添加行,可以为列创建Celltemplate。