在通用应用程序中像xaml一样调用代码中的Flyout

时间:2016-02-23 15:15:16

标签: win-universal-app windows-10-universal

当我按下按钮时,我有这个Flayout" btn7":

    <Button HorizontalAlignment="Stretch" Background="Transparent"  x:Name="btn7" >  
<Button.Flyout>
     <Flyout Placement="Right" x:Name="FlayoutLo" >
        <Grid VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Margin="10" Width="250">
           <Grid.RowDefinitions>
                 <RowDefinition Height="*"/>
                 <RowDefinition Height="*"/>
                 </Grid.RowDefinitions>                                  
                     <TextBox x:Name="tt" VerticalAlignment="Bottom" Grid.Row="0" ></TextBox>
                     <Button Width="120" FontWeight="Normal" Content="Enregistrer"  Background="#393185" Foreground="white" Margin="0,20,0,0"  x:Name="SecondBtn"  Grid.Row="1"   />
            </Grid>
      </Flyout>
   </Button.Flyout>
</Button>

我有另一个按钮,我想在同一个位置显示相同的Flyout,如按钮&#34; btn7&#34;但是对于C#,我试过这个:

 private  void MenuButton_Click(object sender, RoutedEventArgs e)
        {
    FlayoutLo.ShowAt(btn7);
}

但是当我接受&#34; MenuButton&#34;时我什么也得不到,我怎么能解决这个问题 谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

我使用您的代码重现了您的问题,我用此代码解决了问题

if (btn7.Flyout != null)
        {
            var flyout = btn7.Flyout;
            flyout.ShowAt(btn7);
        }

我希望这对你有用。