정보 또는 사용자 상호 작용이 필요한 간단한 UI를 표시하는 컨트롤을 나타냅니다. 대화 상자와 달리 Flyout은 외부에서 클릭하거나 두드 리거나 장치의 뒤로 버튼을 누르거나 'Esc'키를 눌러 가볍게 닫을 수 있습니다.
시나리오의 경우 Flyout
컨트롤은 합리적인 선택이 아닙니다. ContentDialog
을 사용하여이를 달성 할 수 있습니다. 그리고 다음 코드는 contentDialog의 기능을 구현합니다.
<ContentDialog
x:Class="AppUIBasics.ControlPages.ContentDialogExample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:AppUIBasics.ControlPages"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="SIGN IN"
PrimaryButtonText="sign in"
SecondaryButtonText="cancel"
PrimaryButtonClick="ContentDialog_PrimaryButtonClick"
SecondaryButtonClick="ContentDialog_SecondaryButtonClick">
<StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<TextBox Name="userNameTextBox" Header="User name"/>
<PasswordBox Name="passwordTextBox" Header="Password" IsPasswordRevealButtonEnabled="True"/>
<CheckBox Name="saveUserNameCheckBox" Content="Save user name"/>
<TextBlock x:Name="errorTextBlock" />
<TextBlock Text="Lorem ipsum dolor sit amet, consectetur adipisicing elit." TextWrapping="Wrap" />
</StackPanel>
</ContentDialog>
이 당신을 참조 할 수 있습니다 UWP UI의 기본에 대한 공식
code sample. 만약 당신이 Flyout contorl 사용을 고집한다면.
my code sample을 참조 할 수 있습니다. 그러나 그것은 공식에 의해 제안되지 않습니다.
에서 MainPage.xaml
<Button Content="Show Flyout">
<Button.Flyout>
<Flyout x:Name="flyout" Closing="flyout_Closing" >
<StackPanel>
<TextBox x:Name="MyTextBox" Text="You can edit this text by tapping it."/>
<Button Content="close" Click="Button_Click"/>
</StackPanel>
</Flyout>
</Button.Flyout>
</Button>
MainPage.xaml.cs를 대답은 당신을 돕고 당신의 문제하시기 바랍니다 [표시] (HTTPS를 해결 한 경우
private bool manual = false;
private void flyout_Closing(FlyoutBase sender, FlyoutBaseClosingEventArgs args)
{
if(manual == true)
{
args.Cancel = false;
}
else
{
args.Cancel = true;
}
manual = false;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
manual = true;
flyout.Hide();
}
: // 메타. stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) 답변을 받아들입니다. 대단히 감사합니다! –