开发者

Binding to a custom control property

开发者 https://www.devze.com 2023-01-25 07:20 出处:网络
Hello I have a custom control. This custom control has it\'s DataContext set to an entity. In my custom control I then bind some TextBlocks to various properties of this entity.

Hello I have a custom control. This custom control has it's DataContext set to an entity. In my custom control I then bind some TextBlocks to various properties of this entity.

I would also like to bind a TextBlock to a property of the control's class. I do not want/need to set this property through the XAML.

Something like

<TextBlock Content="{Binding Path=MyControl.Prop开发者_开发知识库erty}" />

Right now, my it seems to be trying to use the bound entity to resolve this binding, rather than my custom control's class.


You can use RelativeSource in your Binding

{Binding Path=PathToProperty, RelativeSource={RelativeSource AncestorType={x:Type MyControl}}}

Also you can see more in this question


In your custom control you should expose a dependency property with the property you want to bind.

Also, you probably don't want to bind the content of the textblock, you want to bind the text:

<TextBlock Text="{Binding Path=MyControl.Property}" />


If the TextBlock is within the ControlTemplate of your custom control then you could create a DP on your custom control and then template bind to it. e.g.

<TextBlock Text="{TemplateBinding CustomControlPropertyName}" />
0

精彩评论

暂无评论...
验证码 换一张
取 消