Здравствуйте.
Есть элемент Expander с вложенным PopUp(чтобы поверх других элементов был), внутри PopUp находится StackPanel с тремя RadioButton, объединённых одним GroupName.
Опущу некоторые свойства в коде, чтобы ближе к сути было:
<Expander Name="MyExpander" ... IsExpanded="False" >
<PopUp ... StaysOpen="False" IsOpen="{Binding ElementName=MyExpander, Path=IsExpanded}" >
<StackPanel>
<RadioButton GroupName="Group" Name="First"/>
<RadioButton GroupName="Group" Name="Second"/>
<RadioButton GroupName="Group" Name="Third"/>
</StackPanel>
</PopUp>
</Expander>
Свойство IsOpen элемента PopUp привязано к свойству IsExpanded элемента Expander, то есть при нажатии на стрелку Expander у нас открывается PopUp, а при нажатии в свободное место, PopUp закрывается и стрелка Expander'а меняет вид на закрытый.
Мне нужно, чтобы при нажатии на один из RadioButton, мой Expander также закрывался.
Я пытался реализовать это через Trigger IsPressed у RadioButton, но не смог подцепиться к свойству элемента MyExpander, потому что Property не даёт использовать Binding.
Я знаю что могу это сделать в ViewModel, привязав одно свойство и к IsExpanded и к IsOpen и менять его в Command каждого RadioButton, но интересно, возможно ли это реализовать только в xaml.
Спасибо.