我正在尝试显示弹出/模态对话框,其中包含文本框或其他一些附加控件。为此,我将UserControl设置为Popup的子项。 Popup的宽度和高度设置为全屏,因此用户无法与后台的ui元素进行交互。
但是,我意识到其他弹出窗口可以显示在我最初显示的Popup上。因此,这不是真正的模态控制。有没有办法让Popup完全模态化(阻止任何其他UI元素,包括其他弹出窗口)。或者是否有另一个控件可用于显示某种形式的自定义消息对话框?
感谢任何帮助,谢谢!
答案 0 :(得分:3)
你这样做:
<Grid x:Name="LayoutRoot" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Popup x:Name="MyModalPopup" IsOpen="True" IsLightDismissEnabled="False">
<Grid Width="{Binding ActualWidth, ElementName=LayoutRoot, Mode=OneWay}" Height="{Binding ActualHeight, ElementName=LayoutRoot, Mode=OneWay}">
<Grid.Background>
<SolidColorBrush Color="White" Opacity=".25" />
</Grid.Background>
<Grid Width="500" Height="400" Background="Green" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button VerticalAlignment="Center" HorizontalAlignment="Center" Content="Close">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="Click">
<Core:ChangePropertyAction TargetObject="{Binding ElementName=MyModalPopup}" PropertyName="IsOpen"/>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Button>
</Grid>
</Grid>
</Popup>
</Grid>
IsLightDismissEnabled="False"
部分很重要。
祝你好运!