我有一個正常的列表框與自定義模板來顯示項目。我無法管理的是將模板水平拉伸到列表框的完整widget上。如何獲得一個動態的ListBox ItemTemplate水平拉伸ListBox的全部寬度?
我的問題是,主窗口中的所有元素都是動態放置的,它們隨着窗口大小更改方法一起調整大小。我已經通過網絡搜索,想法是把HorizontalAligment =「Stretch」。這是我在任何可能的情況下都嘗試過的,沒有取得重大成功
我的XAML代碼是這樣的:
<UserControl x:Class="LiveGames.Dealer.UsersList"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
Background="Transparent">
<Border CornerRadius="10" BorderBrush="White" BorderThickness="2" >
<Grid>
<Grid.Resources>
<DataTemplate x:Key="PlayerTemplate">
<WrapPanel>
<Border CornerRadius="10" BorderBrush="White" BorderThickness="2" >
<Border.Background>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0.0" x:Name="gradientOne_Name" Color="Red" />
<GradientStop Offset="1.0" x:Name="gradientTwo_Name" Color="DarkRed" />
</LinearGradientBrush>
</Border.Background>
<Grid >
<Grid.ColumnDefinitions x:Uid="5">
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Name="RowH" Height="50"/>
</Grid.RowDefinitions>
<!-- <TextBlock VerticalAlignment="Center" Margin="5" Grid.Column="0" Grid.Row="1" Text="Player: " FontSize="18" />-->
<TextBlock VerticalAlignment="Center" Margin="5" Grid.Column="0" Text="{Binding Path=ID}" FontSize="22" FontWeight="Bold"/>
</Grid>
</Border>
</WrapPanel>
</DataTemplate>
</Grid.Resources>
<Canvas>
<ListBox Name="userList" Background="Transparent" BorderBrush="Transparent" BorderThickness="0" ItemsSource="{Binding}" ItemTemplate="{StaticResource PlayerTemplate}" HorizontalContentAlignment="Stretch">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem" >
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Canvas>
</Grid>
</Border>
沒有任何人有任何想法如何做到這一點,甚至在後面的代碼?
中號
Unfortuantelly這並不爲我工作。我試圖將列表框放在畫布外,但這也沒有幫助。 – 2012-07-09 12:11:49
@ user1448231如果你還沒有,我強烈建議你在snoopwpf.codeplex.com上下載Snoop for WPF。使用這個,你可以直觀地調試你的可視化樹,並找出哪些元素有哪些屬性設置(按HorizontalAlign過濾)。您可能會發現綁定沒有正確設置水平對齊,或者另一個元素需要水平對齊。最好的祝福, – 2012-07-09 13:07:40