Silverlight/XAML – Learning by Coding

[ glyphs.xaml --> Grafik anzeigen ]

  1: <?xml version="1.0" encoding="UTF-8"?>
  2: <!-- coded by Thomas Meinike 04/08 -->
  3: <Canvas xmlns="http://schemas.microsoft.com/client/2007"
  4:         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  5: 
  6:   <TextBlock Canvas.Left="20" Canvas.Top="20" FontFamily="Lucida" FontSize="14" Foreground="#000"
  7:     Text="Mit dem Glyphs-Element lassen sich einzelne Font-Zeichen einbinden. Beispiel mit Symbolen aus dem"/>
  8: 
  9:   <TextBlock Canvas.Left="20" Canvas.Top="40" FontFamily="Lucida" FontSize="14" Foreground="#00C"
 10:     Text="Würfelfont &quot;MarVAlea.ttf&quot; von Martin Vogel unter CC-Lizenz: http://www.marvosym.de/marvalea.html"
 11:     MouseEnter="TextOver" MouseLeave="TextOut" MouseLeftButtonDown="HyperLink"
 12:     Tag="http://www.marvosym.de/marvalea.html"/>
 13: 
 14:   <Glyphs Canvas.Left="20" Canvas.Top="70" Fill="#000" FontUri="media/MarVAlea.ttf" FontRenderingEmSize="36"
 15:     UnicodeString="0123456789"/><!-- alternativ statt UnicodeString="..." Indices="13;14;15;16;17;18;19;20;21;22" -->
 16: 
 17:   <Line X1="20" Y1="130" X2="715" Y2="130" Stroke="#CCC" StrokeThickness="1"/>
 18: 
 19:   <TextBlock Canvas.Left="20" Canvas.Top="150" FontFamily="Lucida" FontSize="16" Foreground="#000"
 20:     Text="Umsetzung eines Würfelspiels [Werte 1-6] mit diesem Symbolfont:"/>
 21: 
 22:   <Glyphs x:Name="w1" Canvas.Left="20" Canvas.Top="180" Fill="#C00" FontUri="media/MarVAlea.ttf"
 23:     FontRenderingEmSize="100" UnicodeString="0"/><!-- Würfel 1 alternativ Indices="13" -->
 24: 
 25:   <Glyphs x:Name="w2" Canvas.Left="120" Canvas.Top="180" Fill="#0C0" FontUri="media/MarVAlea.ttf"
 26:     FontRenderingEmSize="100" UnicodeString="0"/><!-- Würfel 2 alternativ Indices="13" -->
 27:           
 28:   <Glyphs x:Name="w3" Canvas.Left="220" Canvas.Top="180" Fill="#00C" FontUri="media/MarVAlea.ttf"
 29:     FontRenderingEmSize="100" UnicodeString="0"/><!-- Würfel 3 alternativ Indices="13" -->
 30: 
 31:   <Glyphs Canvas.Left="300" Canvas.Top="180" Fill="#CCC" FontUri="media/MarVAlea.ttf"
 32:     FontRenderingEmSize="100" UnicodeString="/"/><!-- Schrägstrich alternativ Indices="12" -->
 33: 
 34:   <Glyphs Canvas.Left="360" Canvas.Top="180" Fill="#999" FontUri="media/MarVAlea.ttf"
 35:     FontRenderingEmSize="100" UnicodeString="0"/><!-- Ausgabefeld alternativ Indices="13" -->
 36: 
 37:   <TextBlock x:Name="summe" Canvas.Left="372" Canvas.Top="215" FontFamily="Lucida" FontSize="30"
 38:     Foreground="#999" Text="000"/>
 39: 
 40:   <TextBlock Canvas.Left="460" Canvas.Top="210" FontFamily="Lucida" FontSize="14" Foreground="#00C"
 41:     Text="Neues Spiel" MouseLeftButtonDown="Wuerfeln_Neu" MouseEnter="TextOver" MouseLeave="TextOut"/>
 42: 
 43:   <TextBlock Canvas.Left="460" Canvas.Top="240" FontFamily="Lucida" FontSize="14" Foreground="#00C"
 44:     Text="W ü r f e l n" MouseLeftButtonDown="Wuerfeln" MouseEnter="TextOver" MouseLeave="TextOut"/>
 45: 
 46: 
 47:   <!-- // zusätzlich verwendeter JavaScript-Code:
 48: 
 49:   var summe=0// global
 50: 
 51:   function Wuerfeln(sender,eventArgs)
 52:   {
 53:     var z1,z2,z3,sum_str="";
 54: 
 55:     z1=Zufallszahl(1,6);
 56:     z2=Zufallszahl(1,6);
 57:     z3=Zufallszahl(1,6);
 58: 
 59:     summe+=z1+z2+z3;
 60:     sum_str=summe.toString();
 61:     if(summe<10)sum_str="00"+sum_str;
 62:     else if(summe<100)sum_str="0"+sum_str;
 63:     if(summe>999)
 64:     {
 65:       sender.findName("summe").fontSize="22";
 66:       sender.findName("summe")["Canvas.Top"]="222";
 67:     }
 68: 
 69:     // alternativ für w1 bis w3 mit Indices statt UnicodeString:
 70:     // sender.findName("w?").indices=(z?+13).toString();
 71:     sender.findName("w1").unicodeString=z1.toString();
 72:     sender.findName("w2").unicodeString=z2.toString();
 73:     sender.findName("w3").unicodeString=z3.toString();
 74:     sender.findName("summe").text=sum_str;
 75:   }
 76: 
 77: 
 78:   function Wuerfeln_Neu(sender,eventArgs)
 79:   {
 80:     summe=0;
 81:     // alternativ für w1 bis w3 mit Indices statt UnicodeString: 
 82:     // sender.findName("w?").indices="13";
 83:     sender.findName("w1").unicodeString="0";
 84:     sender.findName("w2").unicodeString="0";
 85:     sender.findName("w3").unicodeString="0";  
 86:     sender.findName("summe").fontSize="30";
 87:     sender.findName("summe")["Canvas.Top"]="215";
 88:     sender.findName("summe").text="000";
 89:   }
 90: 
 91: 
 92:   function Zufallszahl(von,bis)
 93:   {
 94:     return Math.floor(von+(bis-von+1)*Math.random());
 95:   }
 96: 
 97: 
 98:   function TextOver(sender,eventArgs)
 99:   {
100:     var txt_obj=sender;
101: 
102:     txt_obj.cursor="Hand";
103:     txt_obj.foreGround="#F00";
104:     txt_obj.textDecorations="Underline";
105:   }
106: 
107: 
108:   function TextOut(sender,eventArgs)
109:   {
110:     var txt_obj=sender;
111: 
112:     txt_obj.cursor="Default";
113:     txt_obj.foreGround="#00C";
114:     txt_obj.textDecorations="None";
115:   }
116: 
117:   -->
118: 
119: </Canvas>

[zum Anfang]