私はこの質問がすでに答えられていると思います。これが当てはまる場合はすぐに削除します。私はWPFに慣れていません(そしてC#の新機能)。MVVMにできるだけ従うように努力していますが、モデルにINotifyPropertyChanged
を実装しない方法を見つけるのは本当に苦労しています。MVVMを使用して、定義済みオブジェクトのコレクションにINotifyPropertyChangedを実装するにはどうすればよいですか?
マイモデルには、別のリファレンスから作成された定義済みオブジェクトのコレクションが含まれています。モデル内では、Task
が完了した時点で更新されるプロパティがあります。
CustomObject - API
public class CustomObject
{
private string _myTaskOutput;
public CustomObject()
{
_myTaskOutput = MyTaskMethod();
}
//MyTaskMethod()
//Get & Setter for _myTaskOutput;
}
Utilの - API
public static class Util
{
public IEnumerable<CustomObject> GenerateObjects()
{
var customObjectCollection = SomeHelperMethod();
return customObjectCollection;
}
}
モデル
public class CustomObjectCollectionModel
{
private IEnumerable<CustomObject> _customObjectCollection;
public CustomObjectCollectionModel()
{
_customObjectCollection = Util.GenerateObjects();
}
//Get & Setter for IEnumerable<CustomObject>
}
オブジェクト参照が、私はObservableCollection
を有する質問(これは正しいのですか?)の外にあると意図したとおりにCustomObject
作品にINotifyPropertyChanged
を実装するが、私は物事の正しい方法をこれを理解しないと考えているので、変更されません。
"を実装し、CustomObjectでINotifyPropertyChangedを実装することは意図したとおりに動作しますが、これを行う正しい方法ではないことを理解しています。これは正しい方法ではないと言わせてくれるのは何ですか? – Steven
@Steven MVVMに関してSOに関するほとんどの回答。私はそれがViewModelではなくViewから直接Modelにバインドされているためだと推測しています。 – Kitson88
@Steven私は、最初の開発者の役割に着陸するために、私のポートフォリオのためにこのアプリケーションを作成しています。 – Kitson88