将listItem wpf中的按钮向右对齐
我正在尝试创建一个列表视图项,在框的最右侧有一个删除按钮。按钮总是位于文本的右侧,但我更希望它“固定”在控件的右侧。我尝试了以下方法: DockPanel:将listItem wpf中的按钮向右对齐,wpf,xaml,alignment,Wpf,Xaml,Alignment,我正在尝试创建一个列表视图项,在框的最右侧有一个删除按钮。按钮总是位于文本的右侧,但我更希望它“固定”在控件的右侧。我尝试了以下方法: DockPanel: <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> Dock
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
DockPanel.Dock=“Right”
HorizontalAlignment=“Right”
HorizontalContentAlignment=“Right”
HorizontalConteltAlignment=“Stretch”
(不是最后两个同时出现)
并在不指定停靠位置的情况下向停靠面板添加额外区域
网格:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
及
及
在这两种情况下,唯一改变按钮位置的就是改变按钮的左边距。但是容器是可调整大小的,所以我真的希望按钮保持在控件的右侧。有人知道为什么水平对齐、水平内容对齐、额外列和不同的宽度大小似乎都不会影响按钮的位置吗?我能做什么
旁白:虽然我知道其他几个帖子都是有同样问题的人写的,但他们接受的答案到目前为止对我的情况毫无帮助。将
列表视图的HorizontalContentAlignment
属性设置为Stretch
。这将拉伸子元素以填充ListView的分配空间:
<ListView HorizontalContentAlignment="Stretch" ... >
您是否尝试过将ListView的水平内容对齐设置为拉伸
,并使用第一个网格方法,但翻转了列定义,即
?哦,哇。是的,我只是在每个项目中设置了HorizontalContentAlignment,而不是在ListView中。感谢您指出,是的,对于listview项目。如果你想把它作为一个答案,我会接受它。我把它作为一个答案贴了出来,并添加了一些解释。也许它对遇到同样情况的其他人有用。
<ListView HorizontalContentAlignment="Stretch" ... >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> <!-- for the text -->
<ColumnDefinition Width="Auto"/> <!-- for the delete button -->
</Grid.ColumnDefinitions>