【问题标题】:Windows Phone Toolkit ListPicker background is WhiteWindows Phone Toolkit ListPicker 背景为白色
【发布时间】:2013-06-12 13:03:37
【问题描述】:

我有一个 Windows Phone 8 应用程序。我的应用程序使用 Toolkit 中的 ListPicker。我的应用程序看起来很好。但是,当我展开 ListPicker 时,背景是白色的。我无法阅读任何项目的文字。当 ListPicker 折叠时,我可以很好地阅读所选项目的文本。这是我的代码:

<Grid x:Name="myGrid" Background="Black" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
  <Grid.RowDefinitions>
    <RowDefinition Height="Auto" />                    
    <RowDefinition Height="*" />
  </Grid.RowDefinitions>

  <Grid.RenderTransform>
    <TranslateTransform x:Name="myGridTransform" />
  </Grid.RenderTransform>

  <Grid Background="Silver" VerticalAlignment="Stretch">
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <TextBlock Text="app name" Margin="24,6,0,0" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Left" Style="{StaticResource PhoneTextSmallStyle}" />
    <TextBlock Text="PAGE" Margin="24,0,0,6" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Left" Style="{StaticResource PhoneTextLargeStyle}" />
  </Grid>

  <ScrollViewer Grid.Row="1" Margin="8,0,8,0">
    <Grid>
      <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
      </Grid.RowDefinitions>

      <TextBlock HorizontalAlignment="Left" Grid.Row="0" TextWrapping="Wrap" Text="Group" VerticalAlignment="Top" Style="{StaticResource PhoneTextGroupHeaderStyle}" Margin="12,12,12,0" />
      <TextBlock HorizontalAlignment="Left" Grid.Row="1" TextWrapping="Wrap" Text="label" VerticalAlignment="Top" Style="{StaticResource PhoneTextLargeStyle}"/>
      <toolkit:ListPicker x:Name="myListPicker" Grid.Row="2" Margin="12,-6,12,-2" Background="Transparent" Loaded="myListPicker_Loaded">
        <toolkit:ListPicker.Items>
          <toolkit:ListPickerItem Tag="1" Content="Option 1" />
          <toolkit:ListPickerItem Tag="2" Content="Option 2" />
        </toolkit:ListPicker.Items>
      </toolkit:ListPicker>
      <TextBlock HorizontalAlignment="Left" Grid.Row="3" Margin="12,0,12,8" TextWrapping="Wrap" Text="other details." VerticalAlignment="Top" Style="{StaticResource PhoneTextSmallStyle}" />
    </Grid>
  </ScrollViewer>
</Grid>

我做错了什么?

【问题讨论】:

  • 这可能是工具包的一个bug造成的。它可以通过将 ListPicker 的 ItemsSource 绑定到 ObservableCollection 来解决

标签: xaml windows-phone-8


【解决方案1】:

我认为那是因为您的设备或模拟器在轻主题下

尝试更新扩展的视觉状态背景

【讨论】:

    【解决方案2】:

    不使用属性 Content ,而是在标签本身 usinf 中添加 ListPickerItem 的文本。像这样:

    <toolkit:ListPicker x:Name="myListPicker">
        <sys:String>Option 1</sys:String>
        <sys:String>Option 2</sys:String>
    </toolkit:ListPicker>
    

    【讨论】:

      【解决方案3】:

      我遇到了ListBox 的这个问题,其中背景过去在增加ListBox 的高度时会变黑。问题出在父容器上。当上下文超过特定高度时,不知何故Grid 的孩子不遵守背景颜色。尝试将Grid 替换为StackPanel 作为您的父容器,并将每个孩子的背景颜色设置为您想要的颜色。应该可以。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多