diff options
author | Alex Corrado <alexc@xamarin.com> | 2013-10-26 04:15:51 +0400 |
---|---|---|
committer | Alex Corrado <alexc@xamarin.com> | 2013-10-26 04:15:51 +0400 |
commit | 6f77443b6b17bddb3b812499ccb5a660b0015466 (patch) | |
tree | 7c296a52e2f93f4f4df799431a99643b7ea593bf /Xwt.Mac | |
parent | 8c1798eab83c51a0ad37b3de4abe5355a13dae9a (diff) |
[Mac] Fix setting Font on widgets that are wrapped in CustomAlignedContainer
Diffstat (limited to 'Xwt.Mac')
-rw-r--r-- | Xwt.Mac/Xwt.Mac/ViewBackend.cs | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/Xwt.Mac/Xwt.Mac/ViewBackend.cs b/Xwt.Mac/Xwt.Mac/ViewBackend.cs index 62bf29ad..a194c4c9 100644 --- a/Xwt.Mac/Xwt.Mac/ViewBackend.cs +++ b/Xwt.Mac/Xwt.Mac/ViewBackend.cs @@ -348,17 +348,23 @@ namespace Xwt.Mac public virtual object Font { get { - if (Widget is NSControl) - return ((NSControl)(object)Widget).Font; - if (Widget is NSText) - return ((NSText)(object)Widget).Font; + var widget = Widget; + if (widget is CustomAlignedContainer) + widget = ((CustomAlignedContainer)widget).Child; + if (widget is NSControl) + return ((NSControl)(object)widget).Font; + if (widget is NSText) + return ((NSText)(object)widget).Font; return NSFont.ControlContentFontOfSize (NSFont.SystemFontSize); } set { - if (Widget is NSControl) - ((NSControl)(object)Widget).Font = (NSFont) value; - if (Widget is NSText) - ((NSText)(object)Widget).Font = (NSFont) value; + var widget = Widget; + if (widget is CustomAlignedContainer) + widget = ((CustomAlignedContainer)widget).Child; + if (widget is NSControl) + ((NSControl)(object)widget).Font = (NSFont) value; + if (widget is NSText) + ((NSText)(object)widget).Font = (NSFont) value; ResetFittingSize (); } } |