0

バインディングとバインディングの更新に問題があります。

WindowsフォームでEntity Frameworkを使用しています...

Shipping Queue から注文を取得し、グリッドにバインドしています。

別のフォームを開いて注文 X を別のキューに移動すると、グリッドにそれが反映されません...

たとえば、メイン フォームには 2 つのグリッドと 1 つのボタンがあります。

グリッド 1 = 出荷待ちの注文
グリッド 2 = 新しい注文キューの注文
ボタン 1 = 注文の管理

[注文の管理] ボタンをクリックして、配送キューにある注文 X を開き、それを新しい注文キューに移動すると、変更がグリッドに反映されるようにします。

私はさまざまなことを試しましたが、私が思いついた最も安価で最良の解決策は、グリッドで数分ごとに更新を呼び出すことでしたが、もっと良い方法があるに違いないと感じています...

何かご意見は?

4

1 に答える 1

1

バインドしている値が OnPropertyChanged() を正しく呼び出していることを確認してください。

public class Class1 : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    private int myValue;
    public int MyValue
    {
        get { return myValue; }
        set 
        {
            if (myValue != value)
            {
                myValue = value;
                OnPropertyChanged("MyValue");
            }
        }
    }

    protected virtual void OnPropertyChanged(string property)
    {
        var notify = PropertyChanged;
        if (notify != null)
            notify(this, new PropertyChangedEventArgs(property));
    }
}
于 2013-03-29T23:29:30.103 に答える