私はWPFアプリケーションと教育目的でMVVMパターンを使用していますが、メモリリークに関する質問があります。このOneWay Bindingはメモリをリークしますか?
私はPostsharpライブラリを使用していました。
私のViewModelには、次のようになります。
public class MyViewModel : INotifyPropertyChanged
{
private ClassA _myClassAField; //ClassA doesn't Implement INotifyPropertyChanged
public MyViewModel(ClassA classAParameter)
{
_myClassAField = classAParameter;
}
[NotifyPropertyChanged]
public string Name { get { return _myClassAField.Name; } }
.....//Other Code.....
}
XAMLを:
<Textblock Text="{Binding Name, Mode=OneWay}"/>
質問:
い、この結合リークメモリ? 私のテストでは漏れているようではないようですが、私はなぜそれが分かりませんか?
プロパティ名へのバインドは、INotifyPropertyChangedを実装していないClassAからのゲッターだけです。
なぜメモリリークがあると思いますか? – StepUp
ClassAはINotifyPropertyChangedを実装していません。そして、私のgetプロパティは、ClassAオブジェクトの名前を返します。またはNotifyPropertyChangedでマークされたNameプロパティはそれをオーバーライドしますか? –