C# 如何关闭WPF弹出窗口?
我正在WPF中开发项目,在项目中使用弹出窗口时遇到了一个问题。我在我的窗口中使用弹出控件,如下所示:-C# 如何关闭WPF弹出窗口?,c#,wpf,C#,Wpf,我正在WPF中开发项目,在项目中使用弹出窗口时遇到了一个问题。我在我的窗口中使用弹出控件,如下所示:- <Popup HorizontalAlignment="Center" VerticalAlignment="Center" AllowsTransparency="True" x:Name="popup" Placement="Center" OpacityMask="#FFC86E6E" Closed="popup_Closed" > <Gri
<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>
现在我想用页面按钮关闭弹出窗口。我怎么做…你可以试试
private void btnClosePopup_Click(object sender, RoutedEventArgs e)
{
popup.IsOpen = false;
}
您可以通过将属性设置为
false
来关闭弹出窗口。如果您想在XAML代码中解决此问题,下面是一个可行的解决方案(将关闭按钮放在弹出窗口内):
您也可以使用此代码打开弹出窗口,只需将IsOpen属性更改为“True”。您能否澄清:应该关闭弹出窗口的是
SessionObject
中的代码?
private void btnClosePopup_Click(object sender, RoutedEventArgs e)
{
popup.IsOpen = false;
}
<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>