none
WPF popup이 멀티 모니터 환경에서 HorziontalOffset 설정시 비정상적으로 움직입니다. RRS feed

  • 질문

  • 멀티모니터 환경에서 Parent Element가 충분히 클 때 HorizontalOffset을 설정하면 다른 모니터로 갑작스레 움직여버립니다. 화면의 경계선에 닿기 한참 전에 움직입니다.

    테스트 환경: 1920x1200 or 1920x1080 모니터 두 개를 좌우로 붙이고, 왼쪽 모니터를 primary monitor로 세팅

    아래 프로그램을 컴파일하고 왼쪽 모니터에서 실행시킨 후 버튼을 누르다보면 왼쪽 모니터에서 나타나야할 팝업이 오른쪽으로 튀어나갑니다.

    해결 방법이 있나요?

    MainWindow.xaml
    ======================================================
    <Window x:Class="practiceWPF.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
    <Button Click="Button_Click_1">

    </Button>
    <Popup x:Name="xpopup"> 
    <TextBox>ASDF</TextBox>
    </Popup>
    </Grid>
    </Window>
    =========================================================

    MainWindow.xaml.cs
    =========================================================
    using System.Windows;

    namespace practiceWPF
    {

    /// <summary>
    /// MainWindow.xaml에 대한 상호 작용 논리
    /// </summary>
    public partial class MainWindow : Window
    {
    public MainWindow()
    {
    InitializeComponent();
    this.Width = 1500;
    this.xpopup.IsOpen = true;
    }

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
    this.xpopup.HorizontalOffset += 40;
    }
    }
    }
    =========================================================


    • 편집됨 kcm1700 2012년 12월 3일 월요일 오전 8:08
    2012년 12월 3일 월요일 오전 8:07

모든 응답

  • 아래 링크 참고 해보세요.

    http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/4743208c-9aa0-440b-8436-a3e977da71c1/

    2012년 12월 13일 목요일 오후 10:09