UserControls genellikle DataContext
nasıl ayarlanır? Ben bir Bağlanma ile Kontrolünü kullanmak istediğinizde benim Pencere veya diğer Kontroller ise benim UserControl aşağıdaki gibi bir şey,UserControls içinde DataContext
DataContext = this
yaparsanız, ben Pencere/UserControl
işaret edecek birRelativeSource
sahip olmak zorunda kalacaktır set UserControls yerine
DataContext
kullanım
RelativeSource
:
<local:UserControl1 TextContent="{Binding Text1, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" />
UserControls içinde Kontroller bağlamak yolu var mı?
<UserControl x:Class="SetCurrentValueTest.UserControl1" ...>
<TextBox Text="{Binding Path=TextContent, RelativeSource={RelativeSource AncestorType={x:Type local:UserControl1}}}" />
</UserControl>
İkinci örnek, DataContext'i UserControl ve TextBox arasında başka bir şeye ayarlamamışsanız, {Binding TextContent} 'dan farklı bir şey yapmayacaktır; Aksi takdirde, TextBlock DataContext'i miras alır. Ve UserControl veya UserControl1'i AncestorType olarak belirterek, UserControl1 içinde bulunan ve TextBox'u içeren farklı bir türde başka bir UserControl varsa, yalnızca bir fark yaratacaktır. –