【发布时间】:2018-10-03 21:49:51
【问题描述】:
如何与 WPF 组合框中的右侧 X 按钮对齐?
我得到的是这样的:
Xaml:
<ComboBox ItemsSource="{Binding Entities}"
SelectedItem="{Binding SelectedEntity}" >
<ComboBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding EntityName, Mode=OneWay}"
VerticalAlignment="Center"/>
<Button Grid.Column="1" HorizontalAlignment="Right"
Command="{Binding DataContext.DeleteEntityCommand,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}">
<Image Source="..\Resources\DeleteIcon.png" HorizontalAlignment="Center" />
</Button>
</Grid>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Entities 是一些Entity 类的ObservableCollection。
我是否必须使用其他东西来代替Grid?
还有一个问题:
如果用户单击某个项目的 X 按钮,则必须将其传递给DeleteEntityCommand(可能使用CommandParameter)。怎么做? SelectedItem 的 ComboBox 仍然是 AAAAAA,而不是 HHHH(见图)。
【问题讨论】:
-
设置
HorizontalContentAlignment对我没有帮助。 -
嗯,我无法复制它。使用您的代码,我在下拉列表的右侧有按钮。
标签: wpf xaml combobox alignment datatemplate