I have a custom user control with a textbox on it and I’d like to expose the baseline (of the text in the textbox) snapline outside of the custom control. I know that you create a designer (inherited from ControlDesigner) and override SnapLines to get access to the snaplines, but I’m wondering how to get the text baseline of a control that I have exposed by my custom user control.
Share
I just had a similar need, and I solved it like this:
This way it’s actually creating a temporary sub-designer for the subcontrol in order to find out where the ‘real’ baseline snapline is.
This seemed reasonably performant in testing, but if perf becomes a concern (and if the internal textbox doesn’t move) then most of this code can be extracted to the Initialize method.
This also assumes that the textbox is a direct child of the UserControl. If there are other layout-affecting controls in the way then the offset calculation becomes a bit more complicated.