我無法讓列表框項目拉伸到整個列表框的寬度。ListBoxItem HorizontalContentAlignment =拉伸不起作用
下面是我爲我的列表框
<ListBox x:Name="MyListBox"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
HorizontalContentAlignment = "Stretch"
Margin="0,10,0,0"
ItemsSource="{Binding Path=Users}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
Grid.Column="0"
Grid.ColumnSpan="1"
Grid.Row="1"
Grid.RowSpan="3">
<ListBox.ItemTemplate>
<DataTemplate>
<local:MyListBoxTemplate/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我曾嘗試在其他職位找到了以下的建議,但他們沒有工作對我來說XAML:
- 設定ListBox的HorizontalContentAlignment爲Stretch
- 覆蓋listboxitem的樣式,即列表框xaml中的ItemContainerStyle標籤中的新樣式(注意:我正在使用大都會導航主題)
- EDITTING在CoreStyles.xaml的DefaultListBoxItemStyle風格,包括HorizontalContentAlignmemt
難道是因爲我使用我的數據模板的一個單獨的XAML文件? 或者我的數據模板有問題? 有沒有人有什麼我可以嘗試的建議?
我看到了某處也許我可以將ListBoxItem寬度綁定到ListBox的實際寬度?
我很新,所以我提前道歉,如果我錯過了一些非常簡單/明顯的東西!
下面是我的數據模板:
<Grid x:Name="LayoutRoot" HorizontalAlignment="Stretch" ShowGridLines="True" Height="20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10*" />
<ColumnDefinition Width="30*" />
<ColumnDefinition Width="300*" />
<ColumnDefinition Width="50*" />
<ColumnDefinition Width="10*" />
</Grid.ColumnDefinitions>
<Image x:Name="TwitterImageIcon"
Grid.Column="1"
Grid.ColumnSpan="1"
Source="{Binding Path=imageUrl}"
/>
<StackPanel Orientation="Horizontal" Grid.Column="2" Grid.ColumnSpan="1" HorizontalAlignment="Stretch" >
<TextBlock x:Name="TwitterUsernameTextBlock"
Text="{Binding Path=username,StringFormat='@\{0\} '}"/>
<TextBlock x:Name="TwitterFullNameTextBlock"
Text="{Binding Path=fullname}"/>
</StackPanel>
<Button x:Name="InfoButton"
Content="Info"
Grid.Column="3"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
<Border x:Name="StyleBorder" />
</Grid>
任何建議,不勝感激。
在此先感謝。
更新:忘了提,當添加:
<ListBox...>
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.Resources>
</ListBox>
使列表框項目的higlighting盤旋在選擇時,當它工作但是會影響國際化的主題是不同的風格的休息大都會主題。
啊我應該提到我已經試過這個(但是在ListBox中。ItemContainerStyle標籤),但是這會覆蓋CoreStyles.xaml中大都會主題定義的樣式,因此每個ListBox項目的高亮部分現在都是默認樣式,並且與大都會主題的其餘部分不匹配。感謝您的回覆,雖然 – rallen 2012-03-18 17:39:20
看到我的編輯1,應該工作:) – Leo 2012-03-18 23:54:38
完美謝謝你這麼多獅子座! – rallen 2012-03-19 08:05:13