listPicker不以完整模式更新选择

sol*_*ola 2 .net c# windows-phone-7

有没有人知道listpicker中的一个错误,它阻止它在扩展模式设置为完全模式时更改所选项目.它总是由于某种原因返回到所选的默认项目.

Gav*_*vin 6

我假设你的Page_Loaded中有一些代码填充和/或设置ListPicker的SelectedIndex.

您需要确保仅在进入页面时设置值.

    private void PhoneApplicationPage_Loaded(object sender, EventArgs e)
    {


        DataContext = App.ViewModel.something;
        if (MyListPicker.SelectedIndex == -1)
        {
            MyListPicker.ItemsSource   = App.ViewModel.SomeList;
            MyListPicker.SelectedIndex = App.ViewModel.MyBinding;
        }
    }
Run Code Online (Sandbox Code Playgroud)

您还可以确保忽略启动选择更改(在页面中加载和绑定时可能会多次触发)并且仅捕获用户启动的更改.

    private void MyListPicker_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (e.RemovedItems != null && e.RemovedItems.Count > 0)
        {
            if (this.MyListPicker.SelectedItem != null)
            {              
                // Do something
            }
        }  
    }
Run Code Online (Sandbox Code Playgroud)