我知道columndefinition是如何在XAML中工作的,但我想做的事情並不知道如何。XAML Columndefinitions width *不能佔用空間
我想4列這樣的:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="110" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
- 列具有固定寬度
- 列必須採取一切可用的空間(是的,它是列之間,這正是問題)
- 列有固定寬度
- 列有固定寬度
第二列包含文本,問題是當文本太短時,第二列不會佔用所有可用空間。它自動變小,每行都變小。我可以把它與此代碼的文本塊的工作:
MinWidth="2000"
但是這不是好辦法,因爲這個數字可能太低時,屏幕大。
這裏包含4列全的ListView:
<ListView Grid.Row="1" Grid.ColumnSpan="4" ItemsSource="{Binding blabla}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="110" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
<Image Height="110" Width="110" Grid.Column="0" Source="{Binding blabla}" HorizontalAlignment="Stretch" />
<TextBlock Text="{Binding blabla}" TextWrapping="Wrap" Margin="5,0,0,0" Grid.Column="1" FontSize="16" HorizontalAlignment="Stretch" TextAlignment="Left" FlowDirection="LeftToRight" MinWidth="2000" VerticalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Disabled" FontStretch="UltraCondensed"/>
<TextBlock Grid.Column="2" TextWrapping="Wrap" Foreground="Black" Margin="5,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
<Image Source="{Binding blabla, Converter={StaticResource ImgConverter}}" Grid.Column="3" Width="76" Height="76" HorizontalAlignment="Center" Stretch="None" VerticalAlignment="Center" Margin="0"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
其實檢查你的父母控制寬度。這將不會被設置爲您預期的全寬度。 – loop 2014-09-01 20:47:39
你是什麼意思?什麼家長控制? – XHotSniperX 2014-09-01 20:57:38
抱歉不能清楚地表達出來。但是,你能否調查一下Grid在Grid中的佔用面積。 – loop 2014-09-01 21:00:12