Rumah >pembangunan bahagian belakang >C++ >Mengapa tidak mengikat DependencyProperty saya mengemas kini pandangan ibu bapa?
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
usercontrol kepada dirinya sendiri dalam pembina: DataContext
<code class="language-csharp">DataContext = this;</code>Rujukan diri ini
mengatasi yang diwarisi DataContext
dari ibu bapa, memecahkan pengikatan kepada model pandangan induk. DataContext
Penyelesaian: Menggunakan mengikat RelativeSource
untuk melintasi pokok visual: RelativeSource
<code class="language-xaml"><TextBox Text="{Binding SelectedFile, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" /></code>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
<code class="language-xaml"><FileBrowserControl SelectedFile="{Binding SelectedFile}" /></code>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!