WPF: DataTrigger для верхнего свойства XAML окна Prism - PullRequest
1 голос
/ 28 марта 2020

Я пытаюсь управлять свойством Topmost всплывающего окна призмы с помощью DataTrigger, чтобы при нажатии кнопки в файле 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, что и моя кнопка, всплывающее окно призмы не могу найти этот локальный источник, или он просто не будет работать. Хотелось бы узнать, могу ли я стилизовать свойство IsModal или Topmost с помощью кнопки в файле XAML как DataTrigger или как исправить привязку, чтобы сделать это.

...