小编Mac*_*iek的帖子

822
推荐指数
10
解决办法
35万
查看次数

如何对可观察的集合进行排序?

我有以下课程:

[DataContract]
public class Pair<TKey, TValue> : INotifyPropertyChanged, IDisposable
{
    public Pair(TKey key, TValue value)
    {
        Key = key;
        Value = value;
    }

    #region Properties
    [DataMember]
    public TKey Key
    {
        get
        { return m_key; }
        set
        {
            m_key = value;
            OnPropertyChanged("Key");
        }
    }
    [DataMember]
    public TValue Value
    {
        get { return m_value; }
        set
        {
            m_value = value;
            OnPropertyChanged("Value");
        }
    }
    #endregion

    #region Fields
    private TKey m_key;
    private TValue m_value;
    #endregion

    #region INotifyPropertyChanged Members

    public event PropertyChangedEventHandler PropertyChanged;

    protected void …
Run Code Online (Sandbox Code Playgroud)

.net c# sorting wpf observablecollection

93
推荐指数
9
解决办法
13万
查看次数

如何通过工作线程更新ObservableCollection?

我有一个ObservableCollection<A> a_collection;该集合包含'n'个项目.每个项目A看起来像这样:

public class A : INotifyPropertyChanged
{

    public ObservableCollection<B> b_subcollection;
    Thread m_worker;
}
Run Code Online (Sandbox Code Playgroud)

基本上,它都连接到WPF列表视图+详细信息视图控件,它在单独的列表视图中显示所选项目的b_subcollection(双向绑定,propertychanged上的更新等).当我开始实现线程时,问题出现了.整个想法是让整个a_collection使用它的工作线程来"工作",然后更新它们各自的b_subcollections并让gui实时显示结果.

当我尝试它时,我得到一个例外,说只有Dispatcher线程可以修改ObservableCollection,并且工作停止了.

任何人都可以解释这个问题,以及如何解决它?

干杯

c# wpf multithreading observablecollection

71
推荐指数
4
解决办法
6万
查看次数

什么是谓词?

作为一个业余爱好者,我缺乏一些基础知识.在过去的几天里,我一直在读一些东西,"谓词"这个词不断出现.我非常感谢有关这个问题的解释.

language-agnostic

64
推荐指数
4
解决办法
2万
查看次数

C#是否包含有限状态机?

我最近读过有关boost::statechart库(有限状态机)的内容,我很喜欢这个概念.

C#有类似的机制吗?或者可以使用特定的设计模式实现?

.net c# design-patterns finite-automata fsm

27
推荐指数
5
解决办法
3万
查看次数

将C++程序转换为Windows服务?

我写了一个"做东西"的控制台程序 - 主要是使用boost.如何将其转换为Windows服务?我应该事先了解Windows服务?

c++ winapi

17
推荐指数
1
解决办法
3万
查看次数

如何在C#中传递const引用?

在C++中,传递const引用是一种常见的做法 - 例如:

#include <iostream>
using namespace std;

class X
{
  public :
    X()                              {m_x = 0; }
    X(const int & x)                 {m_x = x; }
    X(const X & other)               { *this = other; }
    X & operator = (const X & other) { m_x = other.m_x; return *this; }
    void print()                     { cout << m_x << endl; }
  private :
    int m_x;
};

void main()
{
    X x1(5);
    X x2(4);
    X x3(x2);
    x2 = x1;
    x1.print();
    x2.print();
    x3.print();
} …
Run Code Online (Sandbox Code Playgroud)

c# const reference

15
推荐指数
4
解决办法
3万
查看次数

如何在Win32 API C++中枚举网络适配器并获取其MAC地址?

如何在Win32 API C++中枚举网络适配器并获取其MAC地址?

c++ winapi

15
推荐指数
1
解决办法
7481
查看次数

如何初始化const std :: pair?

让我们说我有一个:

#include <utility>
using namespace std;
typedef pair<int, int> my_pair;
Run Code Online (Sandbox Code Playgroud)

如何初始化const my_pair?

c++ stl std-pair

13
推荐指数
3
解决办法
3万
查看次数

强制scons使用较旧的编译器?

我有一个使用boost的C++项目.整个项目是使用scons + Visual Studio 2008构建的.我们已经安装了Visual Studio 2010,结果发现scons试图使用后来的编译器而不是旧编译器 - 并且无法构建项目作为boost和visual studio 2010 don还是非常喜欢彼此.我们想要压制这个并迫使scons使用2008版本.这可能吗?我们如何做到这一点?

python scons

9
推荐指数
1
解决办法
2475
查看次数