我的工具栏项目有以下 DataTemplate:
<DataTemplate DataType="{x:Type viewModels:PopupContextActionViewModel}">
<Grid>
<ToggleButton Name="ToggleButton">
<ContentControl Template="{Binding Icon, Converter={StaticResource NameToResourceConverter}}" Margin="5" />
</ToggleButton>
<Popup Name="ContextActionPopup" StaysOpen="False" AllowsTransparency="True"
IsOpen="{Binding
ElementName=ToggleButton,
Path=IsChecked,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}">
<Border Background="Transparent" Name="Border" Visibility="Visible">
<ContentControl x:Name="ContentControl" userInterface:RegionHelper.RegionName="{Binding RegionId}" Style="{StaticResource PopupContentStyle}" />
</Border>
</Popup>
</Grid>
<DataTemplate.Triggers>
<Trigger SourceName="ContentControl" Property="Content" Value="{x:Null}">
<Setter TargetName="ContextActionPopup" Property="IsOpen" Value="False" />
</Trigger>
</DataTemplate.Triggers>
一切正常(我的弹出窗口和我的切换按钮可以正常工作)但是如果我设置我的 DataTemplate 的触发器的值(由我的业务逻辑完成,或者更具体地由一些“NavigationService”完成)弹出窗口得到在 ToggleButton 保持选中状态时关闭。
为什么我的触发器也不会更改 ToggleButton 的 IsChecked 属性?