Tôi có một cửa sổ WPF với một điều khiển hộp văn bản. Bộ điều khiển có một đường viền được hiển thị khi hộp văn bản có tính năng lấy nét bàn phím.WPF Adorner Layer Outside Window
Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, đường viền được giới hạn trong giới hạn của cửa sổ. Làm thế nào tôi có thể làm cho nó để các adorner đầy đủ được hiển thị?
adorner mẫu là:
<DataTemplate x:Key="ContextualInfoDataTemplate">
<Border
Background="#E1E1E1"
CornerRadius="6"
Margin="50,36,0,0">
<Border.Effect>
<DropShadowEffect/>
</Border.Effect>
<Grid Width="200" Margin="4,3,4,4">
<TextBlock TextWrapping="Wrap" Text="OverridenAutomationId"/>
</Grid>
</Border>
</DataTemplate>
Cảm ơn vì điều này. Tôi đã bắt đầu nghi ngờ đây có thể là trường hợp. Trong một nỗ lực trước đó tôi đã thử bằng cách sử dụng Popup, tuy nhiên những gì tôi thích về cách tiếp cận lớp adorner là nó đã di chuyển với kiểm soát/cửa sổ. –
Bạn có thể móc các sự kiện 'SizeChanged' /' LocationChanged' của cửa sổ (xem xét hộp văn bản thực tế hy vọng là không di chuyển!) Và di chuyển 'Popup' cho phù hợp. Đó không phải là tất cả những khó khăn! :-) – Jcl
Hãy xem PopupEx trong lib này. Nó giải quyết các vấn đề liên quan đến việc di chuyển/định cỡ. https://github.com/ControlzEx/ControlzEx –