5

我正在寻找 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 也不迟钝。除了背景改变颜色外,一切都按预期工作。

4

3 回答 3

1

在 WP7中,TextBlocks 的高度限制为 2048x2048。我不确定这是否在 WP8 中得到修复,但这似乎与您现在遇到的问题相同。考虑将文本拆分为小于 2048 像素的块,或者使用类似ScrollableTextBlock 之类的东西。

于 2012-12-04T22:59:42.643 回答
0

您可以将 minWidth 设置为列表框。这可能会帮助你。

 <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>

于 2013-07-18T08:17:24.030 回答
0

不确定“为什么”,但在“什么”上,网格似乎是运行黑色背景的网格。我把网格拿出来,它的行为......

    <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>
                        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28" Background="White">
                            <TextBlock Height="2530" Text="some data" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" FontSize="22" Foreground="Purple"/>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </phone:PivotItem>

那对你有用吗?

于 2012-11-21T19:28:20.550 回答