他是大家! 我想要做的是打开包含项目列表的弹出窗口(绑定到ViewModel中的集合),然后,当用户选择列表中的任何项目时,应该隐藏弹出窗口。为了达到这个目的,我正在使用隐藏弹出窗口的行为。问题是当我点击已经选择的项目时(当前选择的项目),行为不起作用。
我有以下代码。
<Button.Flyout>
<Flyout Placement="Full">
<interactivity:Interaction.Behaviors>
<core:DataTriggerBehavior Binding="{Binding SelectedCategory}"
ComparisonCondition="NotEqual">
<controls:CloseFlyoutAction />
</core:DataTriggerBehavior>
</interactivity:Interaction.Behaviors>
<ListView ItemsSource="{Binding Source={StaticResource GroupedCategories}}"
SelectedItem="{Binding SelectedCategory, Mode=TwoWay}">
<ListView.GroupStyle>
<GroupStyle>
//... skiped for brevity
</GroupStyle>
</ListView.GroupStyle>
<ListView.ItemTemplate>
<DataTemplate>
<ContentControl Foreground="{Binding IsSelected, Converter={StaticResource ForegroundConverter}}"
Content="{Binding Name}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Flyout>
</Button.Flyout>