2016-12-01 6 views
-1

ユーザーコントロール(これは私のコードではありません)では、依存関係プロパティを使わない理由を理解できないコードの一部が見つかりました。 は、誰かしてくださいexplain.Thanksなぜ私は独立型を使用する必要がありますか?<double>

<Label Content="{Binding Flow, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" ContentStringFormat="{}{0:N1}" /> 

のViewModel

private Independent<double> _flow = new Independent<double>(10.567); 
    public double Flow 
    { 
     get { return _flow; } 
     private set { _flow.Value = value; } 
    } 
+0

メモ:片方向バインディングで 'UpdateSourceTrigger = PropertyChanged'を設定するのは無意味です。バインディングはソースを決して更新しないので、効果はありません。それ以外に、「独立」とは何ですか? – Clemens

+0

はい、何が独立していますか? – leapold

+0

あなたにそれを教えてください。 WPFの一部ではありません。 – Clemens

答えて

0

まあ、通常の依存関係プロパティは、背後にあるカスタムコントロールのコードではなく、ビューモデルであることができます。通常、ビューモデルのプロパティでINotifyPropertyChangedを実装する必要があります。このプロパティセッターにはOnPropertyChangedやそれに類するコールはありません。だから、おそらくValueプロパティのセッターがIndependent<double>にあるのでしょうか。

私はIndependent<T>がOnPropertyChangedを発生させ、viewmodel property baseクラスのような他のものを実行するラッパークラスだと思います。例としてhereと記載されているValueViewModelクラスを見てください。

関連する問題