我已经在我的appbarbutton创建了一个弹出窗口,其中一个文本框是一个控件来选择一个日期' CalendarDatePicker'。
问题在于,当我从控制日历中选择日期时,会显示我的弹出消息。我想锁定我的Flyout,但我不知道怎么做。即使我在弹出窗口外面点击它也消失了。有可能吗?
<AppBarButton x:Name="btnAppAddEvent" Icon="Add" Label="Dodaj" >
<AppBarButton.Flyout>
<Flyout x:Name="flAdd" Placement="Full" >
<Flyout.FlyoutPresenterStyle>
<Style TargetType="FlyoutPresenter">
<Setter Property="MaxHeight" Value="350"></Setter>
<Setter Property="MaxWidth" Value="300"></Setter>
<Setter Property="Background" Value="#FF8096BD"></Setter>
</Style>
</Flyout.FlyoutPresenterStyle>
<StackPanel Height="300" >
<TextBox x:Name="txtNameAdd" FontSize="23" Height="40"></TextBox>
<CalendarDatePicker HorizontalAlignment="Center" x:Name="calendar" Margin="0,30,0,0" />
<AppBarButton x:Name="btnAddEv" BorderBrush="Black" HorizontalAlignment="Center" Icon="Accept" Click="btnAddEv_Click" Margin="0,20,0,0"></AppBarButton>
<TextBlock x:Name="txtMess2" HorizontalAlignment="Center" FontSize="15" Foreground="Red" Margin="0,10,0,0" ></TextBlock>
</StackPanel>
</Flyout>
</AppBarButton.Flyout>
</AppBarButton>
答案 0 :(得分:1)
问题在于,当我从控制日历中选择日期时,会显示我的弹出消息。
我测试了你的代码。在最新的Windows 10 SDK build 14393中,此问题已不再存在。当我们从Flyout
控件内的日历控件中选择数据时,Flyout
不会消失。但是在以前的SDK中,比如build 10586,你的问题已经存在,而且目前看来我们无法通过设置来改变它。
即使我在弹出窗口外面点击它也会消失。
对于这种情况,它是设计的。根据{{3}}控制的描述:
表示显示轻量级UI的控件,该UI是信息或需要用户交互。与对话框不同,弹出窗口可以通过点击或点击其外部,按下设备的后退按钮或按“Esc”键来解除亮起。
Flyout
控件专为显示轻量级UI而设计,可以轻松解除。如果您不希望通过点击外部来解除UI,则可以尝试其他飞出控件,例如Flyout
控件。有关ContentDialog的更多详细信息,请参阅ContentDialog。