wpf - WPF:Prism Window XAML 的 Topmost 属性的 DataTrigger
问题描述
我正在尝试使用 DataTrigger 控制棱镜弹出窗口的 Topmost 属性,以便当按下 XAML 文件中的按钮时,Topmost 属性设置为 false。我对 WPF 很陌生,不确定我需要做什么才能使绑定正常工作。
请注意,IsModal 属性设置为 false,我希望保持这种状态,除非 IsModal 功能也可以使用按钮中的 DataTrigger 设置样式。
这是带有样式和尝试触发的棱镜弹出窗口
<prism:InteractionRequestTrigger SourceObject="{Binding DataBarChartRequest, Mode=OneWay}">
<prism:PopupWindowAction IsModal="False" WindowStartupLocation="CenterScreen">
<prism:PopupWindowAction.WindowStyle>
<Style TargetType="{x:Type Window}">
<Setter Property="Topmost" Value="True"/>
<Setter Property="Height" Value="650"/>
<Setter Property="Width" Value="900"/>
<Setter Property="ResizeMode" Value="CanResize"/>
<Setter Property="ShowInTaskbar" Value="True"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=StopButton, Path=IsPressed}" Value="True">
<Setter Property="Window.Topmost" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</prism:PopupWindowAction.WindowStyle>
<prism:PopupWindowAction.WindowContent>
<local:DataBarChartNotificationView Width="NaN" Height="NaN" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</prism:PopupWindowAction.WindowContent>
</prism:PopupWindowAction>
</prism:InteractionRequestTrigger>
这是按钮
<RibbonButton Label="Stop"
x:Name="StopButton"
Command="{Binding StopSessionCommand}"
LargeImageSource ="{StaticResource SessionStopGray}"
FontSize="12"
FontWeight="Regular"
Height="60"
Margin="0,10,0,0"
Foreground="White"/>
似乎,尽管这个 InteractionRequestTrigger 与我的按钮在同一个 xaml 文件中,但棱镜弹出窗口找不到这个本地源,或者它根本不起作用。想知道我是否可以使用 XAML 文件中的按钮将 IsModal 或 Topmost 属性设置为 DataTrigger 或如何修复我的绑定来这样做。
解决方案
推荐阅读
- html - 让幻灯片点停留在同一个地方
- sdk - 无法执行 mojo:无法找到工件 - Alfresco SDK 3.0
- c# - 在 C# 中选择 mysql 数据库单元格
- kotlin - 实现空对象模式
- c++ - 创建对象时调用的构造函数
- python - Scikit 学习高斯过程返回 2 个样本的恒定方差
- javascript - Touch、Scroll、Intersection观察者回调的执行顺序
- c# - Newtonsoft.JSON,将相似的不同JSON字段反序列化为单一类型,但将具有不同的反序列化对象字段
- opengl - GLM四元数反向偏航
- javascript - 为什么我在调用函数时没有得到输入?