2014-10-28 116 views
0

我有一個自定義彈出窗口(UserHelperButton)的用戶控件。我已經手動設置了垂直和水平偏移以在正確的位置顯示彈出。現在我需要更新它的位置。我無法將它置於x軸和垂直位置。如何在窗口中的應用程序中彈出一個窗口

在根窗口我補充補充UserHelperButton上的不同位置

<Grid Margin="0,0,0,25"> 
<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="120" /> 
    <ColumnDefinition Width="50" /> 
    <ColumnDefinition Width="50" /> 
    <ColumnDefinition Width="120" /> 
    <ColumnDefinition Width="50" /> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="120" /> 
    <ColumnDefinition Width="50" /> 
</Grid.ColumnDefinitions> 
<UserControls:UserLabel Text="Varnost v dvoje" Grid.Column="0" /> 
<UserControls:UserCheckBox x:Name="cbxDouble" Grid.Column="1" cbxClick="cbxDouble_cbxClick" /> 
<UserControls:UserHelperButton Grid.Column="2" HelperText="V primeru, da se zavarujeta dve osebi, obe zavarovani osebi pridobita nižjo premijo za sklenjena zavarovanja." /> 
<UserControls:UserLabel x:Name="lblRefNum" Text="Referenčna številka" Grid.Column="3" /> 
<UserControls:UserCheckBox x:Name="cbxRefNum" Grid.Column="4" cbxClick="cbxRefNum_cbxClick" /> 
<UserControls:UserTextBox x:Name="txbRefNum" Grid.Column="5" ValidationMessage="Vnesite referenčno številko!" /> 
<UserControls:UserLabel Text="Zaposlen na Pošta Slovenija" Grid.Column="6" /> 
<UserControls:UserCheckBox x:Name="cbxPS" Grid.Column="7" cbxClick="cbxPS_cbxClick" /> 

<Grid Margin="0,25,0,0"> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="500" /> 
          <ColumnDefinition Width="*" /> 
          <ColumnDefinition Width="50" /> 
         </Grid.ColumnDefinitions> 
         <UserControls:UserLabel Grid.Column="0" x:Name="lblInsurance" Text="Priporočena varnost do 65. leta" LabelMode="Heading" ValidationMessage="Vsota zavarovanj je premajhna!" /> 
         <UserControls:UserHelperButton x:Name="helper2" Grid.Column="2" /> 
        </Grid> 

用戶控件XAML:

<Grid x:Name="grid" Margin="0" MaxHeight="50" Canvas.ZIndex="4" VerticalAlignment="Center"> 
<Button x:Name="btnHelper" AutomationProperties.Name="" Style="{StaticResource HelpAppBarButtonStyle}" HorizontalAlignment="Left" VerticalAlignment="Center" Height="70" Click="btnHelper_Click" /> 
    <Popup x:Name="popHelper" IsLightDismissEnabled="True" VerticalOffset="-150" HorizontalOffset="-50"> 
     <Border BorderThickness="25" CornerRadius="25" BorderBrush="Gray" Background="Gray"> 
      <Grid Background="Gray" Width="400" Height="300"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="60" /> 
        <RowDefinition Height="*" /> 
       </Grid.RowDefinitions> 
       <local:UserLabel Text="Pomoč" LabelMode="Heading" VerticalAlignment="Top" /> 
       <Button x:Name="btnClose" AutomationProperties.Name="" Grid.Row="0" Style="{StaticResource NoAppBarButtonStyle}" HorizontalAlignment="Right" VerticalAlignment="Top" Padding="12,0,0,0" Height="100" Click="btnClose_Click" RenderTransformOrigin="0.5,0.5" > 
        <Button.RenderTransform> 
         <CompositeTransform TranslateY="-15"/> 
        </Button.RenderTransform> 
       </Button> 
        <WebView x:Name="webviewControl" Grid.Row="1" Margin="0,20,0,0" Height="200" Width="400" /> 
      </Grid> 
     </Border> 
    </Popup> 

在負載情況下我填寫彈出的幫助文字

 private void UserControl_Loaded(object sender, RoutedEventArgs e) 
    { 
     string html = "<html><body style=\"font-family: 'Segoe UI'; background-color: gray; color: white; margin: 0;\">" + g_text + "</body></html>"; 

     var fragment = HtmlFormatHelper.GetStaticFragment(HtmlFormatHelper.CreateHtmlFormat(html)); 

     webviewControl.NavigateToString(fragment); 
    } 

所以,我該怎麼辦呢?

THX

百吉

回答

0

我不喜歡這樣寫道:

private void popup_Loaded(object sender, RoutedEventArgs e) 
    { 
     popup.HorizontalOffset = (Window.Current.Bounds.Width - popupGrid.Width)/2; 
     popup.VerticalOffset = (Window.Current.Bounds.Height - popupGrid.Height)/2; 
    } 
相關問題