2014-01-19 3 views
0

나는 C#/xaml을 사용하여 Windows 저장소 용 응용 프로그램을 개발 중입니다.XAML의 창의 오른쪽 상단 모서리에 팝업을 배치하십시오.

XAML :

 <Popup x:Name="EditQuantityPopup" 
      x:Uid="EditQuantityPopup" 
      AutomationProperties.AutomationId="EditQuantityPopup" 
      IsLightDismissEnabled="True" 
      IsOpen="{Binding IsEditPopupOpened, Mode=TwoWay}"> 
     <Grid x:Name="PopupPanel" 
       Background="{StaticResource ApplicationPageBackgroundThemeBrush}" 
       Opacity=".9" 
       Height="100" 
       Width="230"> 


      <Grid x:Name="ContentPopupGrid" 
        Grid.Row="1" 
        Margin="20,0,10,15"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="Auto" /> 
        <ColumnDefinition Width="10"/> 
        <ColumnDefinition Width="Auto" /> 
        <!--<ColumnDefinition />--> 
       </Grid.ColumnDefinitions> 

       <TextBlock Grid.Column="0" 


         Text="{Binding Text}" 
          VerticalAlignment="Center" 
         TextTrimming="WordEllipsis" 
         FontSize="15" 
         Foreground="White"></TextBlock> 
       <ProgressRing Grid.Column="2" IsActive="{Binding LoadingData}" Height="75" Width="75"></ProgressRing> 

      </Grid> 
     </Grid> 
    </Popup> 

코드는 하단 응용 프로그램 바의 상단에 다른 창에서 배치 :

 private void EditQuantityPopup_Opened(object sender, object e) 
    { 
     int margin = 10; 
     int appbarHeight = 90; 
     EditQuantityPopup.HorizontalOffset = margin; 
     EditQuantityPopup.VerticalOffset = Window.Current.CoreWindow.Bounds.Bottom - appbarHeight - PopupPanel.Height - margin; 
    } 

어떻게 팝업 윈도우의 오른쪽 상단에 배치해야합니다 코드를 변경?

+0

이 일 아닌가 도움이

var left = Window.Current.Bounds.Width - EditQuantityPopup.ActualWidth; Canvas.SetLeft(EditQuantityPopup, left); Canvas.SetTop(EditQuantityPopup, 0); 

희망 사용할 수 있다면 - '<팝업 배치 = "오른쪽"/>'를? –

+0

다음과 같은 오류가 나타납니다 : "회원"게재 위치 "가 인식되지 않습니다. – WIN8

답변

0

레이아웃 유형이나 PopUp 요소가있는 유형에 따라 다릅니다. 이것을 시도하십시오

EditQuantityPopup.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Right; 
EditQuantityPopup.VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Top; 

위의 추가 사항에 따라 PopUp 요소를 Grid의 새 열로 이동해야 할 수도 있습니다. 예를 들어

Grid.SetColumn(EditQuantityPopup, [your column number]); 

의 캔버스에 당신이

관련 문제