2009-05-20 5 views
3

내가 이해 한 바로는 팝업이 자체 시각적 트리 안에 있습니다. 그러나 몇 가지 속성 인 Clip 및 ClipToBounds가 있습니다. 내가 뭘하고 싶은지는 시각적으로 팝업 창이 윈도우의 경계와 독립적이라는 사실에 관계없이 윈도우의 오른쪽과 아래쪽 가장자리에 팝업을 클립합니다. XAML을 사용하지는 않지만 누군가 XAML에서이를 수행하는 방법을 알고 있다면 괜찮습니다. System.Windows.Application.Current.MainWindow를 사용하여 기본 창으로 이동할 수 있습니다. 이걸 사용하여 팝업을 자르는 데 사용할 수있는 값을 얻을 수 있습니까? 사용할 수있는 값이 있다면 그 값으로 팝업 클립을 바인딩 할 수 있다고 가정합니다. 팝업이 처음 열리면 창을 이동하거나 크기를 변경하면 팝업이 닫히기 때문에 실제로는 필요하지 않습니다. 따라서 팝업이 열릴 때 팝업을 자르기 만하면됩니다. 내가 이것을하고 싶은 이유는 팝업을 사용하고는 있지만 창 외부에 존재하는 팝업으로 나타나기를 원하지 않기 때문입니다. 참고 이것은 사용자 정의 날짜 상자의 팝업 달력입니다. 모든 아이디어와 내가 가지고있는 오해에 대한 명확한 설명은 크게 감사 할 것입니다.기본 창 경계에서 wpf 팝업을 자르십시오.

답변

0

나는 1 년 전의 게시물이라고 알고 있지만, 다른 사람들이 답변을 찾기 위해 여기에 올 경우를 대비해 ... 팝업이 창 밖에있을 필요가 없다면 왜 팝업을 사용합니까? 예를 들어 캔버스에서 컨트롤을 사용하고 Visibility 속성을 통해 컨트롤을 제어하는 ​​것이 훨씬 쉬울 것입니다. 그러면 자동으로 자르기를 할 수 있습니다.

+1

WPF 앱에서 호스팅 된 WinForm 컨트롤을 오버레이하도록 팝업을 사용하고 있습니다. Winform을 오버레이 할 수있는 것만 보이지 않으므로 팝업은 유일한 옵션입니다. 화면 경계 밖에서 팝업을 렌더링 할 수 없다는 것은 실망 스럽습니다. –

+0

내 창에 콘텐츠 루트가 ''인 내 창에 ''이 있기 때문에 팝업을 사용하고 있습니다. 팝업없이 'DataGrid'의 진행/활동 회 전자를 바로 표시하는 방법은 없습니다. '. – Dai

1

또한 팝업은 주 창에 직접 있지 않은 사용자 정의 컨트롤에서 시작할 수 있습니다. 따라서이 경우 팝업을 사용하는 것이 더 쉬울 것입니다. XAML 내부의 UC에 추가 된 것처럼