1

我有一个包含按钮的 WPF 应用程序。当您按下按钮时,aPopup打开。其中Popup包含有关会议的信息。

开启讲述人后,Popup不会读取内容。如何让讲述人阅读Popup的内容?

以下是 的Popup内容示例:

<Popup x:Class="ClassApp.UserInterface.Views.Windows.Settings.MeetingDetailsPopup"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:languages="clr-namespace:MyApp.UserInterface.CommonUI.Languages"
             xmlns:converters="clr-namespace:MyApp.Converters"
             xmlns:global="clr-namespace:"
             Height="375"
             mc:Ignorable="d"
             MaxHeight="375"
             MaxWidth="500" 
             StaysOpen="True"
             Placement="MousePoint" 
             Width="500">
    <Border BorderBrush="{StaticResource GrayBrush}"
            Background="{StaticResource TabSelectedBackgroundBrush}"
            BorderThickness="1">
        <Grid Margin="10">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="25"/>
                <ColumnDefinition Width="2*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="35" />
                <RowDefinition Height="35"/>
                <RowDefinition Height="35"/>
                <RowDefinition Height="35"/>
                <RowDefinition Height="Auto"
                               MinHeight="100"/>
                <RowDefinition Height="Auto"
                               MinHeight="40"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Grid Grid.Column="0"
                  Grid.ColumnSpan="3"
                  Grid.Row="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="0"
                           AutomationProperties.AutomationId="ClassName"
                           AutomationProperties.Name="{Binding ClassName}"
                           FontSize="18"
                           FontWeight="Bold"
                           x:Name="ClassName"
                           Style="{StaticResource ClassInformationTextBlockStyle}"
                           Text="{Binding ClassName}"
                           TextWrapping="Wrap"
                           VerticalAlignment="Top"/>
                <Button Grid.Column="1" 
                        AutomationProperties.Name="{x:Static languages:Resources.Accessibility_CloseWindow}"
                        AutomationProperties.AutomationId="CloseWindow"
                        Command="{Binding CloseMeetingInfoCommand}"
                        Content="X"
                        FontSize="16"
                        HorizontalAlignment="Right"
                        x:Name="CloseButton"
                        Style="{StaticResource ClassInformationCloseButtonStyle}"
                        VerticalAlignment="Top"/>
            </Grid>
            <TextBlock Grid.Column="0"
                       Grid.Row="1"
                       AutomationProperties.Name="{x:Static languages:Resources.Label_MeetingID}"
                       FontSize="14"
                       Foreground="{StaticResource GrayBrush}"
                       x:Name="MeetingIdLabel"
                       Style="{StaticResource ClassInformationTextBlockStyle}"
                       Text="{x:Static languages:Resources.Label_MeetingID}"
                       VerticalAlignment="Top"/>
            <TextBlock Grid.Column="2"
                       Grid.Row="1"
                       AutomationProperties.AutomationId="MeetingId"
                       AutomationProperties.Name="{Binding MeetingID}"
                       AutomationProperties.LabeledBy="{Binding ElementName=MeetingIdLabel}"
                       FontSize="14"
                       Style="{StaticResource ClassInformationTextBlockStyle}"
                       Text="{Binding MeetingID}"
                       VerticalAlignment="Top"/>

                . . .
            </Grid>
        </Grid>
    </Border>
</Popup>

编辑:其余部分Popup由更多TextBlocks 和几个按钮组成,用于将链接或所有数据复制到剪贴板。我没有包括它,因为我认为它不重要。

4

1 回答 1

2

您需要将 Popup.IsKeyboardFocused 设置为 true。默认值为假。

这会将选项卡焦点移动到弹出窗口。请记住,当用户关闭它时,您需要将焦点移回(最好是打开弹出窗口的触发器)。

于 2021-10-11T06:47:01.053 回答