Bug 10724 - UIAppearance on a subclass affects the base class
Summary: UIAppearance on a subclass affects the base class
Alias: None
Product: iOS
Classification: Xamarin
Component: General ()
Version: 6.2.x
Hardware: PC Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
Depends on:
Reported: 2013-02-27 07:26 UTC by Rolf Bjarne Kvinge [MSFT]
Modified: 2013-05-08 07:03 UTC (History)
3 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Rolf Bjarne Kvinge [MSFT] 2013-02-27 07:26:59 UTC
It is currently not possible to style a custom subclass differently than the bound base class.

This is because the Appearance method is static, and the base class cannot know if the Appearance property was called on from a derived class or not.

One possibility is to introduce a method allowing you to specify the subclass:

public static UISlider.UISliderAppearance GetAppearanceForSubclass (Type subclass)

See this for context (and an ugly workaround): http://forums.xamarin.com/discussion/1552/uiappearance-on-a-subclass-affects-the-base-class
Comment 1 Rolf Bjarne Kvinge [MSFT] 2013-03-04 18:29:51 UTC

monotouch: faeb1da2ab5d6e2aa6b67915082aabdf93374ff4
maccore: b1c8ecfe0e4eb8a9a1f4d49047ab68129d0d4ea1
Comment 2 Rolf Bjarne Kvinge [MSFT] 2013-05-08 07:03:25 UTC
Note that the final solution is to do this:

UICustomClass.GetAppearance<UICustomClass>.Property = ...