Browse Source

Merge pull request #639 from cloudRoutine/patch-1

added syntax highlighting
Steven Kirk 9 years ago
parent
commit
eb4280a7c1
1 changed files with 35 additions and 27 deletions
  1. 35 27
      docs/spec/styles.md

+ 35 - 27
docs/spec/styles.md

@@ -20,14 +20,16 @@ for the rest of this document we'll refer to existing XAML toolkit's styling as
 
 Make all `Button`s in a `StackPanel` have a blue `Background`:
 
-    <StackPanel>
-      <StackPanel.Styles>
-        <Style Selector="Button">
-          <Setter Property="Button.Background" Value="Blue"/>
-        </Style>
-      </StackPanel.Styles>
-      <Button>I will have a blue background.</Button>
-    </StackPanel>
+```xaml
+<StackPanel>
+  <StackPanel.Styles>
+    <Style Selector="Button">
+      <Setter Property="Button.Background" Value="Blue"/>
+    </Style>
+  </StackPanel.Styles>
+  <Button>I will have a blue background.</Button>
+</StackPanel>
+```
 
 This is very similar to WPF, except `TargetType` is replaced by `Selector`.
 
@@ -39,15 +41,17 @@ qualified property name (i.e. `Button.Background` instead of simply
 
 As in CSS, controls can be given *style classes* which can be used in selectors:
 
-    <StackPanel>
-      <StackPanel.Styles>
-        <Style Selector="Button.blue">
-          <Setter Property="Button.Background" Value="Blue"/>
-        </Style>
-      </StackPanel.Styles>
-      <Button Classes="blue">I will have a blue background.</Button>
-      <Button>I will not.</Button>
-    </StackPanel>
+```xaml
+<StackPanel>
+  <StackPanel.Styles>
+    <Style Selector="Button.blue">
+      <Setter Property="Button.Background" Value="Blue"/>
+    </Style>
+  </StackPanel.Styles>
+  <Button Classes="blue">I will have a blue background.</Button>
+  <Button>I will not.</Button>
+</StackPanel>
+```
 
 Each control can be given 0 or more style classes. This is different to WPF
 where only a single style can be applied to a control: in Avalonia any number
@@ -56,8 +60,10 @@ a particular property, the style closest to the control will take precedence.
 
 Style classes can also be manipulated in code using the `Classes` collection:
 
-    control.Classes.Add("blue");
-    control.Classes.Remove("red");
+```csharp
+control.Classes.Add("blue");
+control.Classes.Remove("red");
+```
 
 ## Pseudoclasses
 
@@ -71,14 +77,16 @@ pseudoclass (`:hover` in CSS - we may change to that in future).
 Pseudoclasses provide the functionality of `Triggers` in WPF and
 `VisualStateManager` in UWP:
 
-    <StackPanel>
-      <StackPanel.Styles>
-        <Style Selector="Button:pointerover">
-          <Setter Property="Button.Foreground" Value="Red"/>
-        </Style>
-      </StackPanel.Styles>
-      <Button>I will have red text when hovered.</Button>
-    </StackPanel>
+```xaml
+<StackPanel>
+  <StackPanel.Styles>
+    <Style Selector="Button:pointerover">
+      <Setter Property="Button.Foreground" Value="Red"/>
+    </Style>
+  </StackPanel.Styles>
+  <Button>I will have red text when hovered.</Button>
+</StackPanel>
+```
 
 Other pseudoclasses include `:focus`, `:disabled`, `:pressed` for buttons,
 `:checked` for checkboxes etc.