我正在寻找 1) 发生了什么,以及 2) 如何解决问题。
问题
如果 ListBox 项的高度高于 2521,即使背景显式设置为其他值,它似乎也会将背景更改为黑色。
如何复制
以我在下面的示例 XAML 文件为例,在您的 xaml.cs 文件中添加以下内容:
DataContext = new List<int>() { 1 };
将 TextBlock 的高度更改为 2522 或更高。
示例代码不是我遇到问题的地方,但它是一个演示错误的简单示例。我不打算拥有一个大小为 2522+ 的 TextBlock :)
示例 XAML 文件
<Grid x:Name="LayoutRoot" Background="Brown">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<phone:Pivot x:Name="pivot" Title="{Binding name}" Grid.Row="1" Foreground="White" Margin="10,0,0,0">
<phone:PivotItem x:Name="mainPivot" Header="menu" Margin="0,0,20,0">
<ListBox ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="White">
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock Height="2521" Text="some data" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" FontSize="22" Foreground="Purple"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</phone:PivotItem>
</phone:Pivot>
</Grid>
</phone:PhoneApplicationPage>
评论
一些人对我的 UI 提出了担忧。上面的代码是一个示例,而不是我的实际 UI。没有性能问题,ListBox 也不迟钝。除了背景改变颜色外,一切都按预期工作。