ListBox
我的WPF 应用程序有一个ItemTemplate
如下所示:
<DataTemplate x:Key="DomainTemplate" DataType="DomainViewModel">
<Border BorderBrush="{Binding Converter={StaticResource BrushConverter}, Path=IsSelected}"
BorderThickness="3"
Grid.Column="0"
Name="SelectedBorder"
Padding="5">
<Button Click="SelectDomain_Click"
FontSize="16"
FontWeight="Bold"
IsEnabled="{Binding Path=CurrentSiteIsValid, RelativeSource={RelativeSource AncestorType={x:Type c:DomainPicker}}}"
MinHeight="60"
Tag="{Binding Path=DomainId}"
Width="120">
<TextBlock Text="{Binding Path=Name}"
TextAlignment="Center"
TextWrapping="WrapWithOverflow" />
</Button>
</Border>
</DataTemplate>
窗口的宽度由ListBox
. 这是设计使然。ListBox
的垂直边缘和其中的项目之间似乎有一个非常大的空间。使用 Snoop,我看到ListBoxItem
包含的 aBorder
与 的宽度相同ListBox
,aMargin
为 0,并Padding
设置为 2,0,0,0。
Border
包含 a ,其ContentPresenter
宽度比Border
包含它的 小 29 个单位。上似乎占了 2 个单位Padding
。Border
它Margin
是 0 并且没有填充属性。
如果可以的话,我实际上想让这个窗口更窄一点,而不会使Buttons
模板中的 更窄。那 29 个单位的空间是从哪里来的?有没有办法改变它的大小?