Center popup in XAML

Habe ich erstellt ein Popup mit dem folgenden code, aber ich kann nicht herausfinden, wie es mittig
Ich habe versucht, zu ändern automatisch die Marge auf Laufzeit, aber ich konnte nicht herausfinden, wie es zu tun, aber jemand hat eine Idee, wie man center popup?
Ist es nicht eine standard-dimension führen, die ich brauche zu globalisieren mein Programm

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}" Name="MainGrid">
   <Popup x:Uid="LoginPopup" IsOpen="True" Name="LoginPopup">
      <Grid>
         <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto" />
         </Grid.RowDefinitions>
         <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="*" />
         </Grid.ColumnDefinitions>
         <TextBlock Margin="10" Grid.Column="0" Grid.Row="0" Text="App Name" Grid.ColumnSpan="2" Style="{StaticResource HeaderTextStyle}" />
         <TextBlock Margin="10" Grid.Column="0" Grid.Row="1" Text="Username" Style="{StaticResource ResourceKey=SubheaderTextStyle}" />
         <TextBox Margin="10" Grid.Column="1" Grid.Row="1" Name="InputUsername" />
         <TextBlock Margin="10" Grid.Column="0" Grid.Row="2" Text="Password" Style="{StaticResource ResourceKey=SubheaderTextStyle}" />
         <PasswordBox Margin="10" Grid.Column="1" Grid.Row="2" Name="InputPassword" />
         <StackPanel  Margin="10" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Left" Orientation="Horizontal">
            <Button Name="Login"  x:Uid="LoginPopupLogin"  />
            <Button Name="Cancel" x:Uid="LoginPopupCancel" />
         </StackPanel>
      </Grid>
   </Popup>
</Grid>

UPDATE

Habe ich versucht mit user1603313 die Antwort von unten, aber es hat nicht den trick tun, wie es sagt die Größe des Rasters innerhalb des popup-NaN.
Ich habe auch versucht zu bewegen, die Methode in das Netz, aber es hat nicht den trick tun, entweder
Die Methode, die ich spreche, ist das mit dem raster ordnungsgemäß aktualisiert

private void LoginPopup_Loaded_1(object sender, RoutedEventArgs e)
{
   LoginPopup.HorizontalOffset = (Window.Current.Bounds.Width - gdChild.ActualWidth) / 2;
   LoginPopup.VerticalOffset = (Window.Current.Bounds.Height - gdChild.ActualHeight) / 2;
}
Sie werden denken, Flyout-Menüs. msdn.microsoft.com/en-us/library/windows/apps/hh465354.aspx
Wie ich gelesen habe, Flyout-Menüs ist nur für HTML
ah, es ist wahr. Flyout-Menüs nicht verwendet werden können xaml + c#/vb. Gut wirken 😉

InformationsquelleAutor The87Boy | 2012-12-16

Schreibe einen Kommentar