Basis kode ini dipertahankan secara aktif tetapi tidak dikembangkan secara aktif. Permintaan tarik dengan fitur -fitur baru akan memiliki peluang yang sangat ramping untuk bergabung. Dalam banyak aspek basis kode ini "dilakukan".
Jangan ragu untuk menggunakan kode ini, tetapi menahan diri untuk tidak memiliki harapan bahwa ia memiliki aspirasi menjadi lebih dari apa pun daripada saat ini.
Dialog MVVM adalah perpustakaan yang menyederhanakan konsep dialog pembukaan dari model tampilan saat menggunakan MVVM di WPF (Windows Presentation Framework). Ini memungkinkan pengembang untuk dengan mudah menulis tes unit untuk model tampilan dengan cara yang sama tes unit ditulis untuk kelas lain.
Perpustakaan telah membangun dukungan untuk dialog berikut:
Untuk membuka jendela modal, hiasi tampilan dengan DialogServiceViews.IsRegistered properten yang terlampir.
< UserControl
x : Class = " DemoApplication.Features.Dialog.Modal.Views.ModalDialogTabContent "
xmlns = " http://schemas.microsoft.com/winfx/2006/xaml/presentation "
xmlns : x = " http://schemas.microsoft.com/winfx/2006/xaml "
xmlns : md = " https://github.com/fantasticfiasco/mvvm-dialogs "
md:DialogServiceViews.IsRegistered= " True " >
...
</ UserControl > Dengan tampilan yang terdaftar, model tampilan sekarang mampu membuka dialog menggunakan antarmuka IDialogService :
public class ModalDialogTabContentViewModel : INotifyPropertyChanged
{
private readonly IDialogService dialogService ;
public ModalDialogTabContentViewModel ( IDialogService dialogService )
{
this . dialogService = dialogService ;
}
.. .
private void ShowDialog ( )
{
var dialogViewModel = new AddTextDialogViewModel ( ) ;
bool ? success = dialogService . ShowDialog ( this , dialogViewModel ) ;
if ( success == true )
{
Texts . Add ( dialogViewModel . Text ) ;
}
}
} Dialog dalam WPF yang tidak mewarisi dari Window disebut dialog khusus. Dialog khusus ini didukung, tetapi agar DialogService dapat mengetahui cara berinteraksi dengannya, Anda harus mengimplementasikan antarmuka IWindow .
Dialog MVVM secara default membuka kotak pesan Windows standar atau dialog file terbuka saat diminta. Namun ini dapat diubah dengan memberikan implementasi IFrameworkDialogFactory Anda sendiri untuk DialogService .
Untuk informasi lebih lanjut mengenai konsep dialog MVVM dan sampel yang diperluas pada subjek, silakan lihat wiki.
Untuk kepentingan semua, kami bertujuan untuk bermain bagus dengan kerangka kerja MVVM yang ada. Membuat aplikasi baru bisa menakutkan. Banyak keputusan harus dibuat, dan beberapa kesalahan lebih sulit untuk dioreksi daripada yang lain. Untuk membantu Anda dalam perjalanan, kami telah membuat aplikasi sampel menggunakan beberapa kerangka kerja MVVM populer yang ada hari ini, untuk menunjukkan kepada Anda bagaimana Anda mengintegrasikan dialog MVVM ke dalam kerangka kerja itu.
Saat ini aplikasi sampel diimplementasikan menggunakan kerangka kerja berikut.
Jika kerangka kerja spesifik Anda bukan di antara yang terdaftar, silakan buat permintaan tarik baru dan beri tahu kami.
Dunia penuh dengan kepingan salju dan semua aplikasi unik dalam beberapa hal. Dialog MVVM tidak perlu mengklaim semua masalah mengenai dialog, tetapi merupakan solusi yang fantastis untuk sebagian besar aplikasi. Sisanya, aplikasi yang menyimpang dari jalur umum, mungkin memerlukan perubahan spesifik pada perilaku dialog MVVM. Bagi mereka, ada dialog MVVM yang berkontribusi. Repositori dengan fitur dan fungsionalitas yang dikembangkan oleh komunitas open source, memecahkan kebutuhan yang sangat spesifik.
Jika dialog MVVM untuk beberapa alasan tidak sesuai dengan aplikasi Anda, angkat masalah dalam dialog MVVM berkontribir dan kita akan melihat apa yang bisa kita lakukan. Fitur -fitur ini selalu diimplementasikan oleh masyarakat, tetapi digembalakan oleh pemelihara dialog MVVM.
Jika Anda ingin menyertakan dialog MVVM dalam proyek Anda, Anda dapat menginstalnya langsung dari Nuget.
Untuk menginstal dialog MVVM, jalankan perintah berikut di Konsol Manajer Paket:
PM > Install-Package MvvmDialogsDialog MVVM dimulai sebagai artikel tentang Codeproject dengan revisi pertama yang diterbitkan pada Mei 2009. Pada waktu itu MVVM masih baru dan segar, dan lampu MVVM yang sekarang sudah usang belum dipublikasikan. Bahkan, tidak ada perpustakaan MVVM yang biasa digunakan saat ini ada saat itu. Dialog MVVM muncul karena kebutuhan untuk bekerja dengan dialog dari model tampilan, reaksi terhadap fakta bahwa meskipun MVVM adalah pola yang populer, dukungan untuk mengimplementasikannya agak terbatas.
Jadi, publikasi awal lebih dari 10 tahun yang lalu. Pikirkan itu. Proyek open source yang setelah 10 tahun masih dipertahankan dan sangat relevan dengan rilis .NET. Ambillah bahwa Anda di luar sana mengklaim kode sumber terbuka itu mudah menguap!
Dialog MVVM telah mendapatkan reputasi yang cukup untuk terdaftar di .NET yang luar biasa!, Di perusahaan dengan perpustakaan MVVM yang luar biasa lainnya.
Terima kasih JetBrains atas inisiatif penting Anda untuk mendukung komunitas open source dengan lisensi gratis untuk produk Anda.
