如何在列表视图中动态对齐listview项目。
- 不在XAML -
lv.View = GridView
GridView.Columns.Add(New GridViewColumn With {.Header = "CrewId", .DisplayMemberBinding = New Binding("CrewId")})
GridView.Columns.Add(New GridViewColumn With {.Header = "FirstName", .DisplayMemberBinding = New Binding("FirstName")})
GridView.Columns.Add(New GridViewColumn With {.Header = "LastName", .DisplayMemberBinding = New Binding("LastName")})
GridView.Columns.Add(New GridViewColumn With {.Header = "Country", .DisplayMemberBinding = New Binding("Country")})
GridView.Columns.Add(New GridViewColumn With {.Header = "Rank", .DisplayMemberBinding = New Binding("Rank")})
Try
lv.ItemsSource = dsCrew.Tables(0).DefaultView
Catch ex As Exception
MsgBox(ex.Message)
End Try
答案 0 :(得分:1)
您只需使用HorizontalContentAlignment
属性来对齐所有ListViewItem
:
lv.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Right;
更新>>>
啊,这就是为什么这个解决方案不起作用的原因......你有多个专栏。当然,在你展示你的代码之前我无法说出来。好吧,我发现了一种方法可以将所有列对齐到右边......我知道这并不是你所追求的,但我会在这里添加它,直到找到更好的解决方案:
Style style = new Style(typeof(ListViewItem));
style.Setters.Add(new Setter(ListViewItem.HorizontalContentAlignmentProperty,
HorizontalAlignment.Right));
YourListView.ItemContainerStyle = style;
你可以在此期间解决剩下的问题。
更新2>>>
好的,所以我在网上搜索得很好,这是我最接近你的答案...在Tracy Sells的网站上有一篇名为How to center and right align text inside a GridViewColumn in a WPF ListView Control的文章,展示了如何在XAML中执行此操作...是的,我知道您希望在代码中使用它,但您必须在此处完成一些工作:
<ListView
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn>
<TextBlock Text="MyText" TextAlignment="Center" />
</GridViewColumn>
</GridView>
<ListView.View>
</ListView>
我们可以调整我的第二段代码来实现ItemContainerStyle
:
Style style = new Style(typeof(ListViewItem));
style.Setters.Add(new Setter(ListViewItem.HorizontalContentAlignmentProperty,
HorizontalAlignment.Stretch));
YourListView.ItemContainerStyle = style;
不幸的是,这是我可以去的,因为我从未真正使用ListView
。现在,您只需要了解如何在相关TextAlignment
的内容上设置GridViewColumn
。我注意到在代码中执行此类操作没有太大帮助,这仅仅是因为这是不是通常的做法。无论哪种方式,祝你好运,找到如何完成拼图的最后一部分。