Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memanggil Fungsi Model Paparan Ibu Bapa daripada Model Paparan Kanak-kanak dalam WPF?

Bagaimana untuk Memanggil Fungsi Model Paparan Ibu Bapa daripada Model Paparan Kanak-kanak dalam WPF?

Mary-Kate Olsen
Lepaskan: 2024-12-26 05:51:21
asal
598 orang telah melayarinya

How to Call Parent View Model Functions from Child View Models in WPF?

Cara Melaksanakan Fungsi dalam Model Parent View daripada Model Child View

Aplikasi anda terdiri daripada TreeView, dua contentPresenters dan paparan berasingan model untuk setiap elemen UI, termasuk tetingkap utama. Untuk mengemas kini paparan, anda cuba menggunakan kaedah dalam MainWindowViewModel daripada TreeViewViewModel.

Seperti kes yang serupa, penyelesaian yang berdaya maju melibatkan penggunaan objek perwakilan. Semak respons forum sebelumnya yang bertajuk "Melalui parameter antara model pandangan" untuk penjelasan mendalam dan pelaksanaan praktikal. Hanya gantikan perwakilan dalam contoh itu dengan kaedah yang diingini, dan mereka akan berfungsi sama.


Kemas kini

Untuk memanggil kaedah terus daripada melepasi parameter, pertimbangkan pengendali perwakilan yang diubah suai di bawah:

public void ParameterViewModel_OnParameterChange(string parameter)
{
    // Call your method here
}
Salin selepas log masuk

Perwakilan ini berfungsi sebagai laluan ke model paparan induk, mendayakan kefungsian seperti peristiwa ("ReadyForYouToCallMethodNow"). Sebagai alternatif, anda boleh menentukan perwakilan tanpa sebarang parameter input:

public delegate void ReadyForUpdate();

public ReadyForUpdate OnReadyForUpdate { get; set; }
Salin selepas log masuk

Dalam model paparan induk, selepas melampirkan pengendali seperti yang digambarkan dalam contoh sebelumnya, anda boleh menggunakan kaedah:

public void ChildViewModel_OnReadyForUpdate()
{
    // Call your method here
    UpdateDisplay();
}
Salin selepas log masuk

Jika berbilang model paparan kanak-kanak terlibat, anda boleh menentukan perwakilan dalam kelas berasingan yang boleh diakses oleh semua model.


Kemas kini 2

Setelah analisis lanjut, pendekatan yang lebih mudah mungkin memadai. Anda boleh mengikat terus elemen paparan anak kepada sifat dalam model paparan induk. Sebagai contoh, coretan kod berikut dalam TreeViewView anda mengikat sifat Button.Command kepada sifat ICommand dalam MainWindowViewModel:

<Button Content="Click Me" Command="{Binding DataContext.ParentCommand, 
RelativeSource={RelativeSource AncestorType={x:Type MainWindow}}}" />
Salin selepas log masuk

Ini mengandaikan bahawa contoh model paparan induk ditetapkan sebagai Konteks Data bagi MainWindow.

Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi Model Paparan Ibu Bapa daripada Model Paparan Kanak-kanak dalam WPF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan