【问题标题】:wp7 ListBox SelectionChanged Text Colorwp7 ListBox SelectionChanged 文本颜色
【发布时间】:2011-08-02 08:40:39
【问题描述】:

在 WP7 应用程序中使用的 ListBox 的默认行为是在 PhoneAccentBrush 中突出显示所选项目。我发现使用 ListBox 处理 SelectionChanged 事件(设置属性并关闭包含 ListBox 的弹出窗口)时,我从来没有看到 PhoneAccentBrush 的文本颜色发生变化 - 所以用户永远不会得到任何他们选择了正确的反馈物品。有没有办法解决这个问题,并就他们选择的项目向用户提供反馈(即使它只是暂时的)。

【问题讨论】:

  • 我不太清楚你的意思,listBox.selectedItem 被突出显示。也许您可以尝试将项目包含在 listBox 数据模板中。
  • 如果您在选择列表框中的一个项目时关闭“包含列表框的弹出窗口”,仍然会留下什么来显示选择?
  • 使用延迟的 SelectionChaged(我的回答如下),用户有视觉反馈。这是一个短暂的瞬间,但足以给用户留下深刻印象。

标签: listbox windows-phone selectionchanged


【解决方案1】:

例如延迟处理 SelectionChanged 事件

void list_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    Dispatcher.BeginInvoke(action);
}

void action()
{
    // put your code here
}

【讨论】:

    【解决方案2】:

    获取Silverlight toolkit 并添加倾斜效果(像在其他应用中一样推送动画)。

    在你的项目中引用工具包并添加命名空间以使用工具包:

    <phone:PhoneApplicationPage 
        ...
        xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit">
    

    在您的数据模板中添加附加属性IsTiltEnabled

    <DataTemplate>
        <Grid toolkit:TiltEffect.IsTiltEnabled="True">
            ...
        </Grid>
    </DataTemplate>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多