Rumah > pembangunan bahagian belakang > C++ > Mengapa tidak mengikat DependencyProperty saya mengemas kini pandangan ibu bapa?

Mengapa tidak mengikat DependencyProperty saya mengemas kini pandangan ibu bapa?

DDD
Lepaskan: 2025-02-01 17:21:09
asal
519 orang telah melayarinya

Why Doesn't My DependencyProperty Binding Update the Parent ViewModel?

Penyelesaian masalah DependencyProperty Bindings dalam Kawalan Penyemak Imbas Fail

Semasa membina kawalan penyemak imbas fail tersuai, isu biasa timbul di mana memilih fail mengemas kini kotak teks dalaman kawalan tetapi gagal menyebarkan perubahan ke harta

dalam model pandangan induk. Ini berlaku walaupun menggunakan SelectedFile dan pengikatan standard. DependencyProperty

punca akar sering berpunca daripada menetapkan

usercontrol kepada dirinya sendiri dalam pembina: DataContext

<code class="language-csharp">DataContext = this;</code>
Salin selepas log masuk
Rujukan diri ini

mengatasi yang diwarisi DataContext dari ibu bapa, memecahkan pengikatan kepada model pandangan induk. DataContext

Penyelesaian: Menggunakan mengikat RelativeSource

Penyelesaian ini melibatkan mengubahsuai pengikatan dalam XAML UserControl untuk secara jelas mensasarkan model pandangan induk. Gunakan

untuk melintasi pokok visual: RelativeSource

<code class="language-xaml"><TextBox Text="{Binding SelectedFile, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" /></code>
Salin selepas log masuk
Pengikatan yang disemak semula ini memastikan bahawa harta

dalam usercontrol mengikat dengan betul ke harta SelectedFile model pandangan ibu bapa, walaupun ketika SelectedFile usercontrol ditetapkan secara dalaman. DataContext

Sekarang, ketika membenamkan usercontrol:

<code class="language-xaml"><FileBrowserControl SelectedFile="{Binding SelectedFile}" /></code>
Salin selepas log masuk
Pengikatan akan berfungsi seperti yang diharapkan, mengemas kini harta

Atas ialah kandungan terperinci Mengapa tidak mengikat DependencyProperty saya mengemas kini pandangan ibu bapa?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan