WinForms uygulamam için MVVM (Model View ViewModel) desenini uygulamaya çalışıyorum. Ben C# 2005 kullanıyorum.WinForm uygulaması için MVVM Uygulaması
Uygulamam 2 çok satırlı metin kutusu ve 3 düğme ile bir MainForm (Görünüm) vardır. 1. metin kutusunun amacı, düğmeye tıklandığında uygulamanın ne yaptığını gösteren bir yorum göstermektir. Kullanıcılara neler olduğunu güncellemek için TextBox'a satır eklemeye devam ediyorum. 2. metin kutusunun amacı kullanıcıyı herhangi bir hata durumu, çakışma, yinelenen değer hakkında güncellemektir; Kısacası, kullanıcının gözden geçirmesi için gerekli olan her şey. Her mesajı bir INFO veya bir UYARI veya bir HATA olarak sınıflandırır. 3 düğmenin her biri bir eylem gerçekleştirir ve 2 metin kutusunu güncelleştirmeye devam eder.
Bir MainFormViewModel sınıfı oluşturdum.
1. soru: Kullanıcı MainForm'daki düğmeyi tıkladığında, 2 metin kutusunun içeriğini temizlemeli ve düğmeyi, 1. işlem tamamlanıncaya kadar tekrar tıklanmayacak şekilde kapatmam gerekiyor. Bu metin kutusunu ve düğmeyi doğrudan MainForm'da mı yapmalıyım yoksa MainFormViewModel'i bir şekilde kullanmalı mıyım?
2. soru: Düğme tıklatıldığında MainFormViewModel sınıfında bir yöntem çağırılır. Yöntemi çağırmadan önce ve yöntemi çağırdıktan sonra, 1. metin kutusuna "A işleminin başlatılması/sonlandırılması" gibi bir şey göstermek istiyorum. Bunu, bir TextBox'a veya bir dosyaya veya her ikisine de mesaj kaydetmek için bir Günlük yöntemine sahip bir Ortak sınıfı çağırarak yapıyorum. Yine doğrudan MainForm'dan bunu yapmak için tamam olup olmadığını? Olay işleyicisinin başlangıcında ve sonunda bu günlüğe kaydetme yöntemini çağırıyorum.
3. soru: Hata iletilerini ViewModel'den View'a geri nasıl dağıtırım? Özel bir özel durum "TbtException" oluşturdum. Bu yüzden her biri TbtException ve genetik Exception sınıfı için 2 adet catch bloğu yazmalı mıyım?
Teşekkürler.
Çok bilgilendirici ve yardımsever. Teşekkürler !! – AllSolutions
Dolayısıyla, 1. soruyla ilgili olarak, görüntünün bir state özelliğini güncellemek için ViewModel'i çağırması gerektiğini ve 2 metin kutusunun bu özelliğe bağlanıp kendilerini temizlemesi gerektiğini mi söylüyorsunuz? Ve ikinci soruyla ilgili olarak, hala açık değil, metin kutusunun çalışan bir yorumu nasıl sürdürmesi gerektiği. ViewModel, bir değişkende yorum yazmayı sürdürmeli ve TextBox bu değişkene bağlanmalı ve kendini güncel tutmalıdır. Üzgünüz, ancak bunu ilk kez uyguluyorum, bu yüzden biraz daha fazla yardım alacağım. Çalışan yorum metninin çok uzun olacağını unutmayın. Herhangi bir Form örneği? – AllSolutions
Hata işleme ile ilgili olarak, formda herhangi bir try catch bloğu olmayacak mı? – AllSolutions