XAML: Получите родительский фон

Я должен установить образование управления к цвету образования родителя в XAML. Почему не просто делают фон прозрачным? Это - кнопка с падающей тенью, таким образом, я должен установить фон; иначе падающая тень показывает через.

Так, от разметки моего управления, как я устанавливаю свойство Background, равное тому, что родитель (хост) Фон?Спасибо за помощь.

9
задан David Veeneman 23 December 2009 в 17:47
поделиться

2 ответа

Вы должны быть в состоянии настроить связывание с помощью:

<Button Background="{Binding Path=Background, RelativeSource={RelativeSource Mode="FindAncestor" AncestorType="{x:Type Control}" AncestorLevel="1"}}" />

Так как фон определяется для любого "Контроля", это должно захватить контроль одного предка вверх по дереву, и использовать его фон.


Другой вариант, чтобы рассмотреть, было бы просто сделать стиль кнопки, которая показывает фон, как прозрачный, но на самом деле все еще рисует тень падения / границы. Это позволило бы ему работать с любым UIElement.

14
ответ дан 4 December 2019 в 07:47
поделиться

Я оставлю ответ Рида принятым, так как он действительно отвечает на мой первоначальный вопрос. Но я обнаружил, что на самом деле мне нужно привязать к окну, в котором находится кнопка. Вот разметка для этого:

<Button Background="{Binding Path=Background, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}">My Button</Button>
14
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: