首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过ICollectionView导航?

如何通过ICollectionView导航?
EN

Stack Overflow用户
提问于 2014-11-20 08:49:25
回答 1查看 218关注 0票数 0

因此,我有一个基本的视图模型,其功能如下:

代码语言:javascript
复制
// The ICollectionVIew is what my ListBox binds to.
public ICollectionView UserView { get; set; }

// <signup> is a model that's populated from a database representing a signup table
private ObservableCollection<signup> _signup;

    public ObservableCollection<signup> Signup
    {
        get
        {

            return _signup;
        }
        set
        {
            if (_signup != value)
            {
                value = _signup;
            }

            OnPropertyChanged("Signup");
        }
    }

    // This is the constructor for the ViewModel
    public registrationVM()
    {
        // entity context Fills up the Model 
        context.signups.Load();
        // The below code fills up the ObservableCollection
        var query = context.signups;
        _signup = new ObservableCollection<signup>(query);

        // And the below code fills up the ICollectionView using the ObservableCollection
        UserView = CollectionViewSource.GetDefaultView(_signup);

    }

所以现在,我可以绑定到ObservableCollection,而不是绑定到ICollection。

代码语言:javascript
复制
<ListBox ItemsSource="{Binding UserView}" DisplayMemberPath="firstName" SelectedItem="{Binding SelectedUser}"/>

在加载我的信息方面,这是非常有效的。但现在出现了导航问题。我将按钮命令绑定到ViewModel,

代码语言:javascript
复制
<Button x:Name="next" Command="{Binding Next}"/>

在它的执行方法中:

代码语言:javascript
复制
    private object Next_CommandExecute(object param)
    {
        // 'UserView' Is the ICollectionView I declared earlier
        return UserView.MoveCurrentToNext();
    }

问题是按钮的功能不起任何作用。“前一个”按钮也是如此。屏幕上选择的记录不会改变,所以我猜我做错了什么。我到底想不出的是什么。有人看到我哪里出错了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-20 11:02:15

正如my comment中提到的,您需要在您的ListBox上设置IsSynchronizedWithCurrentItem = true

代码语言:javascript
复制
ListBox ItemsSource="{Binding UserView}" 
        DisplayMemberPath="firstName"
        IsSynchronizedWithCurrentItem = true 
        SelectedItem="{Binding SelectedUser}"/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27035241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档