在listItem wpf中将按钮对齐到右侧

时间:2015-08-19 16:06:11

标签: wpf xaml alignment

我正在尝试使用框最右侧的删除按钮创建一个listview项。按钮始终位于文本的右侧,但我希望它“卡在”控件的右侧。我尝试过以下方法:

DockPanel中

DockPanel.Dock="Right"

HorizontalAlignment="Right"

HorizontalContentAlignment="Right"

HorizontalConteltAlignment="Stretch"

(不是最后两个同时)

并在停靠面板上添加一个额外区域,而不指定停靠位置

网格

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto"/>
    <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto"/>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>

等。在任何一种情况下,唯一改变按钮位置的是改变按钮的左边距。但是容器可以调整大小,所以我真的很喜欢按钮停留在控件的右侧。有谁知道为什么水平对齐,水平内容对齐,额外列,不同宽度大小似乎都不影响按钮的位置?我能做什么?

P.S。:虽然我知道其他几个帖子都是由有同样问题的人做的,但到目前为止他们所接受的答案都没有帮助我的情况。

1 个答案:

答案 0 :(得分:1)

ListView的{​​{1}}媒体资源设为HorizontalContentAlignment。这会拉伸子元素以填充ListView的已分配空间:

Stretch

然后使用您的第一个网格方法,但交换<ListView HorizontalContentAlignment="Stretch" ... > 。 按钮的列宽设置为ColumnDefinition,以便将列的大小调整为其内容(按钮)。并且文本的一个设置为Auto,以便尽可能多地占用空间。因此,在为第二列中的按钮分配固定空间后,第一列将获得所有剩余空间。

*