У меня есть приложение wpf с окном переключения, которое открывает всплывающий элемент управления. Я хочу иметь возможность закрыть его после того, как пользователь нажимает на его дочернюю кнопку.
Я бы предпочел сделать это в xaml с помощью триггеров стилей. Но по какой-то причине я не могу установить свойство popup IsOpen внутри триггера события. Я получаю сообщение об ошибке
A value of type setter cannot be added to a collection or dictionary of type TriggerActionCollection
. Вот как я настроил xaml
<ToggleButton x:Name="ShowAvailableOptionsToggleButton"
Content="Add Options" />
<Popup IsOpen="{Binding IsChecked, ElementName=ShowAvailableOptionsToggleButton}">
<StackPanel>
<ListView ItemsSource="{Binding AvailableOptions}"
IsSynchronizedWithCurrentItem="True"
DisplayMemberPath="Name"/>
<Button Content="Add"
Name="AddOptionBtn"
Command="{Binding AddOptionCommand}"/>
</StackPanel>
<Popup.Style>
<Style>
<Style.Triggers>
<EventTrigger SourceName="AddOptionBtn" RoutedEvent="Button.Click">
//ERROR HAPPENS HERE
<Setter Property="IsOpen" Value="False"/>
</EventTrigger>
</Style.Triggers>
</Style>
</Popup.Style>
</Popup>
Может кто-то увидеть, что я делаю неправильно?