2
我試圖顯示的數據表看起來像這樣在Windows Phone 7(因此我沒有DataGrid控件顯示數據表時:列寬的問題在XAML
(The columns are: Rank, Score, Win-Loss, Name.)
7 43 22-7 Aaron
2 13 4-7 Beth
5 42 3-1 Clark
而且我使用了一個帶有ItemTemplate的ListBox來查詢這些值並將其打印出來,並使用一個Grid來格式化列表。但是,每個網格條目都是分開的!我希望所有的列都排隊,但是當元素的大小尺寸不一致,不對齊。
這是我正在使用的代碼:
<ListBox x:Name="MyListBox" ItemsSource="{Binding AllPlayers}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Margin="10,0,10,0" Text="{Binding Rank}"/>
<TextBlock Grid.Column="1" Margin="10,0,10,0" Text="{Binding Score}"/>
<StackPanel Grid.Column="2" Margin="10,0,10,0" Orientation="Horizontal">
<TextBlock Grid.Column="2" Text="{Binding Wins}"/>
<TextBlock Grid.Column="2" Text="-"/>
<TextBlock Grid.Column="2" Text="{Binding Losses}"/>
</StackPanel>
<TextBlock Grid.Column="3" Margin="10,0,10,0" Text="{Binding Name}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
有沒有更好的方法來做到這一點?我可以手動設置「網格」列上的像素寬度,但如果可能的話,我寧願讓它自動找出寬度。
啊我應該澄清。我可以這樣做,但我更喜歡「自動」列大小,它可以計算出飛行時的寬度。我想我應該不要懶惰,並找出最大像素寬度。 =) – LCC
當它設置爲自動時,您將最終放棄限制寬度的能力。但是,嘿,那裏還有'MaxWidth'! –