Установка свойства UserControl для дочерних элементов управления - WPF, Silverlight - PullRequest
1 голос
/ 30 июля 2010

У меня есть пользовательский контроль с кнопкой и TextBlock в нем.Я хотел бы установить фон для кнопки и TextBlock с фоном пользовательского контроля (т. Е. Я пытаюсь привязать к свойству Background пользовательского контроля).

Пожалуйста, дайте мне знать, как я могу сделать это вXAML.

Есть ли для этого разница в Silverlight и WPF?

Ответы [ 2 ]

1 голос
/ 30 июля 2010

Вы можете привязать элемент управления Ancestor, например:

<Button Background="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path=Background}"/>

То же самое будет работать для TextBlock, но его фон уже прозрачен

Согласно этот Silverlight не поддерживает FindAncestor

1 голос
/ 30 июля 2010

Использовать TemplateBinding:

                    <Border Background="{TemplateBinding Background}">                        
                    <TextBlock Background="{TemplateBinding Background}" Text="something"/>                        
                </Border>

Просто установите верхний уровень управления в вашем usercontrol (граница в моем случае) и TextBlock, чтобы использовать TemplateBinding Background.

...