Windows 10移动(UWP)弹出窗口,日历选择器锁定在屏幕上

时间:2016-10-21 18:02:58

标签: c# xml uwp

我已经在我的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>

1 个答案:

答案 0 :(得分:1)

  

问题在于,当我从控制日历中选择日期时,会显示我的弹出消息。

我测试了你的代码。在最新的Windows 10 SDK build 14393中,此问题已不再存在。当我们从Flyout控件内的日历控件中选择数据时,Flyout不会消失。但是在以前的SDK中,比如build 10586,你的问题已经存在,而且目前看来我们无法通过设置来改变它。

  

即使我在弹出窗口外面点击它也会消失。

对于这种情况,它是设计的。根据{{​​3}}控制的描述:

  

表示显示轻量级UI的控件,该UI是信息或需要用户交互。与对话框不同,弹出窗口可以通过点击或点击其外部,按下设备的后退按钮或按“Esc”键来解除亮起。

Flyout控件专为显示轻量级UI而设计,可以轻松解除。如果您不希望通过点击外部来解除UI,则可以尝试其他飞出控件,例如Flyout控件。有关ContentDialog的更多详细信息,请参阅ContentDialog