【问题标题】:A strange symptom about mvvmlight listbox SelectedIndex focused color after transition of pages页面转换后关于 mvvmlight 列表框 SelectedIndex 聚焦颜色的奇怪症状
【发布时间】:2012-05-17 21:26:45
【问题描述】:

我有一个关于 Mvvmlight 绑定 Listbox SelectedIndex 的问题。 完整的源代码可以在here下载。 这是我的先决条件:

[测试模型]

string Title;
string Description;

[TestViewModel]

ObservableCollection<TestModel> TestList;

[xaml 绑定]

<ListBox ItemSource="{Binding TestList}"
         SelectedIndex="{Binding SelectedIndex Mode=TwoWay}">
       .....
       <i:EventTrigger EventName="SelectionChanged">
       .....
       </i:EventTrigger>.....

这是我的 OnSelectionChanged 代码:

 private void OnSelectionChanged(TestModel test)
    {
        int index = SelectedIndex;
        Debug.WriteLine("[SelectionChanged] +++, index={0}", index);
        // If selected index is -1 (no selection) do nothing
        if (-1 == SelectedIndex)
            return;
        Debug.WriteLine("[SelectionChanged] selected item={0}", test.Title);
        // Reset selected index to -1 (no selection)
        SelectedIndex = -1;
        Debug.WriteLine("[SelectionChanged] ---, index={0}", index);
    }

我有一个 sample 来拥有 MainPage.xaml 和 TestPage.xaml。

  1. MainPage:这个页面有一个按钮,点击按钮会导航到TestPage
  2. TestPage:此页面有一个列表框并绑定到 ViewModel

当我运行这个示例时,点击按钮到 TestPage,并尝试点击 Listbox 的任何项目,我可以看到该项目没有 焦点颜色(因为我重置SelectedIndex 为 -1)。

问题来了,当我回到MainPage,然后再次点击按钮到TestPage,你会看到点击Listbox的任何一项都会导致聚焦颜色 在每一项上,都很奇怪。

希望任何人都可以帮助我看看我的样品是否有任何问题。 谢谢。

【问题讨论】:

  • 我无法重现您描述的行为。您的示例应用程序的行为符合我的预期(在具有最新 SDK 更新等的模拟器中运行)
  • 嗨,马特,感谢您的评论,我稍后会尝试使用“最新的 SDK”。
  • 对了,马特,你说的SDK是“WP7 SDK”还是“Mvvmlight SDK”?
  • 我在您的 zip 文件中使用的是 7.1.1 和 MvvmLight 版本
  • 我的SDK是7.1,模拟器还是一样的问题,我会安装7.1.1稍后试试,谢谢。

标签: windows-phone-7 mvvm-light


【解决方案1】:

我从下面的人那里得到了解决方法:

变化:

<i:EventTrigger EventName="SelectionChanged">

收件人:

<i:EventTrigger EventName="Tap">

确实如我所愿。 Tap可以让用户重复点击ListItem,同样“reset SelectedIndex = -1”可以让选中的item没有高亮颜色

【讨论】:

    猜你喜欢
    • 2012-12-10
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多