= Chapter 12 Notes = Title: '''Styles''' == Summary == Setting styles on your Views. === Programming Concepts Summary === || '''Concept''' || '''Page''' || || Style defined in a resource dictionary an element like {{{ContentPage}}} || 254 || || Style inheritance || 261 || == Programs == === Program BasicStyle === Page 255. Concepts: 1. Shows how to setup a style and used it with a {{{Button}}} Classes: No new classes. === Program BasicStyleCode === Page 259. Concepts: 1. Shows how to setup a style in a {{{ResourceDictionary}}} and used it with a {{{Button}}} in code. Classes: No new classes. === Program Modified BasicStyle === Page 259. Concepts: 1. Shows how to setup a style in a {{{ResourceDictionary}}} and used it with multiple view types by setting its {{{TargetType = "View"}}}. Classes: No new classes. === Program StyleInheritance === Page 263. Concepts: 1. Shows how inheritance works with nested containers like {{{StackLayout}}}. 1. Shows how to inheritance within a group by using the {{{basedon}}} attribute to inherit from another style. Classes: No new classes. === Program ImplicitStyle === Page 265. Concepts: 1. Shows implicit styles - that is styles that are applied to an object even when it doesn't specify a style. How, a {{{TargetType}}} without a {{{x:Key}}}. Classes: No new classes. === Program StyleHierarchy === Page 268. Concepts: 1. Shows hierarchical styles from the app.xaml file. Classes: No new classes. === Program DynamicStyles === Page 271. Concepts: 1. Shows Dynamic vs. the {{{StaticResource}}} styles we have used so far 1. Shows buttons that can be dynamically change their styles - cool demo. Classes: No new classes. === Program DynamicStylesInheritance === Page 275. Concepts: 1. similar to the previous program this one adds {{{BaseResourceKey}}} to reference the {{{buttonStyle}}} entry and add a couple of properties including {{{OnPlatform}}}. Classes: No new classes. === Program DeviceSytlesList === Page 278. Concepts: Xamarin.Forms includes six built-in styles known as device styles that are members of a nested class of {{{Device}}}} named {{{Styles}}}. This {{{Style}}} class defines 12 static readonly fields that help reference these six styles '''in code'''. * {{{BodyStyle}}} of type Style. * {{{BodyStyleKey}}} of type string and equal to {{{BodyStyle}}}.” * {{{TitleStyle}}} of type Style. * {{{TitleStyleKey}}} of type string and equal to {{{TitleStyle}}}.” * {{{SubtitleStyle}}} of type Style. * {{{SubtitleStyleKey}}} of type string and equal to {{{SubtitleStyle.” * {{{CaptionStyle}}} of type Style. * {{{CaptionStyleKey}}} of type string and equal to {{{CaptionStyle}}}.” * {{{ListItemTextStyle}}} of type Style. * {{{ListItemTextStyleKey}}} of type string and equal to {{{ListItemTextStyle}}}.” * {{{ListItemDetailTextStyle}}} of type Style. * {{{ListItemDetailTextStyleKey}}} of type string and equal to {{{ListItemDetailTextStyle}}}. Classes: * Device.Styles is a list of the above styles that are unique to the device.