Material 设计的 wpf 图标按钮没有靠右停靠
Material design wpf icon button doesn't dock to right
所以,我正在尝试创建一个列表,右侧有 'delete' 按钮
我有这个代码:
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel LastChildFill="False">
<TextBlock DockPanel.Dock="Left" Text="{Binding Name}" FontSize="14"/>
<Button DockPanel.Dock="Right" Style="{StaticResource MaterialDesignIconForegroundButton}">
<md:PackIcon Kind="Close" Height="16" Width="16"/>
</Button>
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
Result
那么,如何将按钮停靠在右侧?
这是因为您的数据模板位于 ListBoxItem
内,其模板的对齐方式 属性 设置为绑定到 ListBox 的 ContentAlignment
。
因此您需要在列表框本身上设置 HorizontalContentAlignment="Stretch"
。或者,作为更通用的解决方案,覆盖 ListBoxItem
.
的整个模板
所以,我正在尝试创建一个列表,右侧有 'delete' 按钮
我有这个代码:
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel LastChildFill="False">
<TextBlock DockPanel.Dock="Left" Text="{Binding Name}" FontSize="14"/>
<Button DockPanel.Dock="Right" Style="{StaticResource MaterialDesignIconForegroundButton}">
<md:PackIcon Kind="Close" Height="16" Width="16"/>
</Button>
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
Result
那么,如何将按钮停靠在右侧?
这是因为您的数据模板位于 ListBoxItem
内,其模板的对齐方式 属性 设置为绑定到 ListBox 的 ContentAlignment
。
因此您需要在列表框本身上设置 HorizontalContentAlignment="Stretch"
。或者,作为更通用的解决方案,覆盖 ListBoxItem
.