为我的数据绑定标签获取此XAML:
<ItemsControl
Name="itClblArtiksel"
ItemsSource="{Binding ArtikelInfo}"
Margin="925,45,0,0"
Width="89"
Height="31"
HorizontalAlignment="Left"
VerticalAlignment="Top"
BorderThickness="1"
BorderBrush="Black"
FontWeight="Bold"
>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Label
x:Name="lblArtikelNr"
Content="{Binding ArtNr}"
/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
我已经尝试将VerticalContentAlignment
的{{1}}设置为ItemsControl and Label
,但内容不会集中......任何想法?
修改
因为你可以看到粗体(因此Center
的那个)在空中
编辑2
接受的答案给了我最终解决方案:
<itemcontrol>
在<ItemsControl Name="itClblArtiksel" ItemsSource="{Binding ArtikelInfo}" VerticalContentAlignment="Center" Height="37" Margin="925,45,236,38" BorderThickness="1" BorderBrush="Black" FontWeight="Bold">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Height="37">
<Label
VerticalAlignment="Center"
x:Name="lblArtikelNr"
Content="{Binding ArtNr}"
/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
周围设置Grid
与Label
相同Height
并设置ItemsControl
到VerticalAlignment
是解决方法
答案 0 :(得分:1)
如何将VerticalAlignment
的{{1}}属性设置为Label
?
Center
答案 1 :(得分:1)
这会将标签垂直放在父母的中心。在您的情况下,这将无效,因为这些项目只与其内容一样高。
<DataTemplate>
<Label
VerticalAlignment="Center"
x:Name="lblArtikelNr"
Content="{Binding ArtNr}"
/>
</DataTemplate>
如果你希望它们在垂直方向上明显居中,你需要为它们提供空间:
<DataTemplate>
<Grid Height="100">
<Label
VerticalAlignment="Center"
x:Name="lblArtikelNr"
Content="{Binding ArtNr}"
/>
</Grid>
</DataTemplate>
但是由于你的ItemsControl
的固定高度为31,这只会使物品比他们的父物更大,将标签推到视线之外。你需要删除它。我还建议您考虑习惯使用StackPanel
和Grid
进行布局,而不是在所有内容上设置非常大的边距。边距方法使重新排列UI变得困难。
答案 2 :(得分:1)
这对我有用:
<ItemsControl
BorderThickness="1"
BorderBrush="Black"
FontWeight="Bold">
<ItemsControl.Items>
<system:String>wefwefwefwe</system:String>
<system:String>wefwefwefwe</system:String>
<system:String>wefwefwefwe</system:String>
<system:String>wefwefwefwe</system:String>
</ItemsControl.Items>
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type system:String}">
<Label Height="50" Foreground="Black" Content="{Binding}" BorderThickness="1"
BorderBrush="Black" VerticalContentAlignment="Center" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>