Ich habe ein WPF-Fenster mit einem Textfeld Steuerelement. Das Steuerelement verfügt über einen Adorner, der sichtbar gemacht wird, wenn die Textbox über den Tastaturfokus verfügt.WPF Adorner Layer außerhalb des Fensters
Wie Sie auf dem Screenshot unten sehen können, ist der Adorner auf die Grenzen des Fensters beschränkt. Wie kann ich es so einrichten, dass der komplette Adorner angezeigt wird?
Adorner Vorlage:
<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>
Vielen Dank dafür. Ich vermutete, dass dies der Fall sein könnte. In einem früheren Versuch hatte ich versucht, das Popup zu benutzen, aber was ich an der adorner Schichtmethode mochte, war, dass es sich mit dem Control/Fenster bewegte. –
Sie könnten die 'SizeChanged' /' LocationChanged' Events des Fensters (unter Berücksichtigung der tatsächlichen Textbox hoffentlich nicht bewegen!) Anhängen und das 'Popup' entsprechend verschieben. Das sollte nicht so schwer sein! :-) – Jcl
Schau dir PopupEx in dieser lib an. Es löst Probleme bezüglich des Verschiebens/Sizings. https://github.com/ControlzEx/ControlzEx –