我在ItemsControl中使用了一个DataTemplate,它有一个包含3行的网格:
<Grid Margin="12,0,0,4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80" />
<ColumnDefinition Width="330" />
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Text="{Binding Due}"
Foreground="CornflowerBlue"
FontSize="28"
HorizontalAlignment="Center" />
<TextBlock Text="{Binding Expected.Value}"
Foreground="Red"
FontSize="16"
Grid.Row="1"
Grid.RowSpan="2"
HorizontalAlignment="Center" />
<TextBlock Text="{Binding Destination}"
Grid.Column="1"
FontSize="28"
TextWrapping="Wrap"
HorizontalAlignment="Left" />
<TextBlock Text="{Binding Via}"
Grid.Column="1"
Grid.Row="1"
Foreground="Gray"
FontSize="16"
HorizontalAlignment="Left" />
<TextBlock Text="{Binding Status}"
Grid.Column="1"
Grid.Row="2"
FontSize="16"
HorizontalAlignment="Left" />
<TextBlock Text="{Binding Platform.Value}"
Grid.Column="2"
Grid.RowSpan="3"
FontSize="40"
VerticalAlignment="Top"
HorizontalAlignment="Center" />
</Grid>
在某些项目上,Via绑定将有一个空字符串,而在WP7上会导致中间行崩溃。但是当我将项目转换为WP8时,行为是不同的,我得到一个空行,就好像它为textblox保留了空间,即使它没有文本。
如何在这种情况下强制WP8与WP7具有相同的行为?
答案 0 :(得分:1)
古斯塔沃,
虽然我没有遇到同样的问题,但我可以向你保证,WP7和WP8偶尔表现不同。
在这种特殊情况下,您可能希望在文本框上有一个可见性转换器,它将根据绑定文本的内容切换可见性。