簡體   English   中英

如何關閉WPF彈出窗口?

[英]How to close WPF popup window?

我正在WPF中開發項目,我在項目中使用彈出窗口時遇到問題。 我在窗口中使用彈出控件,如下所示: -

<Popup HorizontalAlignment="Center" VerticalAlignment="Center" 
    AllowsTransparency="True" x:Name="popup" Placement="Center" 
    OpacityMask="#FFC86E6E" Closed="popup_Closed" >
    <Grid Height="auto" Width="auto" Margin="0" >
        <Grid.RowDefinitions>
            <RowDefinition Height="0.488*"/>
            <RowDefinition Height="0.512*"/>
        </Grid.RowDefinitions>

        <Frame x:Name="popupframe" Margin="0" Grid.Row="1"  />
        <Button Width="30" Height="30"  HorizontalAlignment="Right" 
                            Margin="0,0,10,-50" VerticalAlignment="Center" 
                            BorderThickness="0" BorderBrush="{x:Null}" 
                            ClickMode="Press" Click="Button_Click" 
                            Foreground="{x:Null}">
            <Button.Background>
                <ImageBrush ImageSource="Image/1329666144_button_cancel.png" Stretch="UniformToFill"/>
            </Button.Background>
        </Button>
            </Grid>
</Popup>

現在我用文本框和按鈕在wpf中創建新頁面並將此頁面設置為彈出框架顯示如下: -

popupframe.Content=new SessionObjection();

現在我想用頁面按鈕關閉彈出窗口。 我怎樣做...

您可以通過將IsOpen屬性設置為false來關閉彈出窗口。

你可以試試

private void btnClosePopup_Click(object sender, RoutedEventArgs e)
        {
            popup.IsOpen = false;
        }

如果您想在XAML代碼中解決它,這是一個有效的解決方案(將關閉按鈕放在彈出窗口中):

    <Button Name="CloseThisPopUp" VerticalAlignment="Top" HorizontalAlignment="Right" Content="X">
                                        <Button.Triggers>
                                            <EventTrigger RoutedEvent="Button.Click">
                                                <EventTrigger.Actions>
                                                    <BeginStoryboard>
                                                        <Storyboard>
                                                            <BooleanAnimationUsingKeyFrames Storyboard.TargetName="CloseThisPopUp" Storyboard.TargetProperty="IsOpen">
                                                                <DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="False" />
                                                            </BooleanAnimationUsingKeyFrames>
                                                        </Storyboard>
                                                    </BeginStoryboard>
                                                </EventTrigger.Actions>
                                            </EventTrigger>
                                        </Button.Triggers>
                                    </Button>

您也可以使用此代碼打開彈出窗口,只需將IsOpen屬性更改為“True”即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM