Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Model Pandangan Kanak-kanak Boleh Memanggil Fungsi dalam PandanganModel Induk?

Bagaimanakah Model Pandangan Kanak-kanak Boleh Memanggil Fungsi dalam PandanganModel Induk?

Patricia Arquette
Lepaskan: 2024-12-26 18:36:12
asal
353 orang telah melayarinya

How Can Child View Models Call Functions in a Parent ViewModel?

Fungsi Memanggil dalam Model Paparan Utama daripada Model Paparan Kanak-kanak

Dalam senario yang melibatkan berbilang model paparan dengan perhubungan hierarki, mungkin perlu untuk gunakan fungsi dalam model paparan utama dari dalam model paparan kanak-kanak. Artikel ini menangani keperluan ini dengan tepat, menyediakan penyelesaian yang memanfaatkan objek perwakilan.

Pertimbangkan senario yang diterangkan. Model paparan tetingkap utama mengawal kandungan yang dipaparkan dalam paparan kanak-kanak. Tugasnya adalah untuk mengemas kini paparan secara manual dengan memanggil fungsi dalam model paparan tetingkap utama daripada model paparan kanak-kanak.

Menggunakan Objek Perwakilan

Pendekatan kaedah perwakilan yang digunakan dalam penyelesaian dan artikel rujukan membolehkan komunikasi dalam mana-mana senario ibu bapa-anak. Akses boleh dilakukan daripada model paparan kanak-kanak kepada model paparan ibu bapa, daripada kod Tetingkap di belakang kepada kod Tetingkap kanak-kanak di belakang, malah antara perhubungan data.

Pelaksanaan

  1. Tentukan perwakilan dalam paparan induk model:

    public delegate void ReadyForUpdate();
    public ReadyForUpdate OnReadyForUpdate { get; set; }
    Salin selepas log masuk
  2. Dalam model paparan kanak-kanak, pasangkan pengendali kepada perwakilan:

    public void ReadyForUpdateHandler()
    {
        // Call the desired method in the parent view model
    }
    Salin selepas log masuk
  3. Dalam model paparan ibu bapa , panggil kaedah apabila sesuai:

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

Pendekatan Alternatif

Dalam sesetengah kes, pendekatan yang lebih mudah mungkin sudah memadai. Pengikatan Terus daripada paparan anak kepada model paparan induk membenarkan akses terus kepada sifat ICommand dalam model paparan induk:

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

Kaedah ini menganggap contoh model paparan induk ditetapkan sebagai Konteks Data tetingkap utama.

Atas ialah kandungan terperinci Bagaimanakah Model Pandangan Kanak-kanak Boleh Memanggil Fungsi dalam PandanganModel Induk?. 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