Ho una finestra WPF con un controllo casella di testo. Il controllo ha una decorazione che viene resa visibile quando la casella di testo ha tastierafocus.WPF Adorner Layer Outside Window
Come si può vedere nello screenshot qui sotto, l'adorner è limitato ai limiti della finestra. Come posso fare in modo che venga visualizzato l'adorner completo?
modello Adorner è:
<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>
Grazie per questo. Stavo iniziando a sospettare che potesse essere così. In un precedente tentativo avevo provato a utilizzare il Popup, tuttavia ciò che mi piaceva dell'approccio del layer di adorner era che si muoveva con il controllo/finestra. –
Si potrebbero agganciare gli eventi 'SizeChanged' /' LocationChanged' della finestra (considerando che la casella di testo effettiva si spera non si muova!) E spostare il 'Popup' di conseguenza. Non dovrebbe essere così difficile! :-) – Jcl
Dai un'occhiata a PopupEx in questa libreria. Risolve problemi riguardanti lo spostamento/ridimensionamento. https://github.com/ControlzEx/ControlzEx –