2009-08-26 11 views
1

Ich machte diese UpButton.xaml Datei, indem Sie es von einer .ai-Datei, die unsere Grafiken Jungs gemacht haben, aber ich kann es einfach nicht zum Laufen bringen. Ich dachte daran, dies eine Art Vorlage/Stil für Buttons zu machen, aber unsere Buttons bestehen aus Rechtecken und nicht aus dem Button-Objekt.Wie bekomme ich diese XAML von app.xaml

Ich habe seit letzten Donnerstag damit herumhantiert, gegoogelt und alles versucht, was ich gefunden habe, aber es wird einfach nicht funktionieren.

wir möchten dies in einer separaten XAML-Datei als 'Ressource' haben, dann fügen Sie diese in app.xaml hinzu und lassen Sie diese alle Rechtecke in der gesamten Anwendung malen. Die Anwendung, die wir erstellen, soll XAML und so wenig C# -Codierung wie möglich verwenden.

Kann mir jemand helfen, dieses Ding zur Arbeit zu bringen?

thx für das Lassen Sie mich wissen, über den Code Beispiel :)

<?xml version="1.0" encoding="utf-8"?> 
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <DrawingBrush x:Key="UnnamedObject0" Stretch="Uniform"> 
     <DrawingBrush.Drawing> 
      <DrawingGroup> 
       <DrawingGroup.Children> 
        <GeometryDrawing Geometry="F1 M 141.781,503.813C 140.737,503.813 139.891,504.659 139.891,505.703L 139.891,524.601C 139.891,525.645 140.737,526.491 141.781,526.491L 160.679,526.491C 161.723,526.491 162.568,525.645 162.568,524.601L 162.568,505.703C 162.568,504.659 161.723,503.813 160.679,503.813L 141.781,503.813 Z "> 
         <GeometryDrawing.Brush> 
          <LinearGradientBrush StartPoint="0.499992,-1.61488e-005" EndPoint="0.499992,1"> 
           <LinearGradientBrush.GradientStops> 
            <GradientStop Color="#FFD1D3D4" Offset="0"/> 
            <GradientStop Color="#FFFFFFFF" Offset="1"/> 
           </LinearGradientBrush.GradientStops> 
          </LinearGradientBrush> 
         </GeometryDrawing.Brush> 
        </GeometryDrawing> 
        <DrawingGroup ClipGeometry="F1 M 0,0L 793.701,0L 793.701,1122.52L 0,1122.52L 0,0 Z "> 
         <DrawingGroup.Children> 
          <GeometryDrawing Geometry="F1 M 139.891,505.703C 139.891,504.659 140.737,503.814 141.781,503.814L 160.679,503.814C 161.723,503.814 162.568,504.659 162.568,505.703L 162.568,524.6C 162.568,525.644 161.723,526.491 160.679,526.491L 141.781,526.491C 140.737,526.491 139.891,525.644 139.891,524.6L 139.891,505.703 Z "> 
           <GeometryDrawing.Pen> 
            <Pen Thickness="1.33333" LineJoin="Round" Brush="#FFA7A9AC"/> 
           </GeometryDrawing.Pen> 
          </GeometryDrawing> 
         </DrawingGroup.Children> 
        </DrawingGroup> 
        <GeometryDrawing Geometry="F1 M 144.048,506.081C 143.005,506.081 142.159,506.927 142.159,507.969L 142.159,522.333C 142.159,523.377 143.005,524.223 144.048,524.223L 158.412,524.223C 159.455,524.223 160.301,523.377 160.301,522.333L 160.301,507.969C 160.301,506.927 159.455,506.081 158.412,506.081L 144.048,506.081 Z "> 
         <GeometryDrawing.Brush> 
          <LinearGradientBrush StartPoint="0.499951,1.00003" EndPoint="0.499951,-3.36442e-006"> 
           <LinearGradientBrush.GradientStops> 
            <GradientStop Color="#FFE6E8E8" Offset="0"/> 
            <GradientStop Color="#FFFFFFFF" Offset="1"/> 
           </LinearGradientBrush.GradientStops> 
          </LinearGradientBrush> 
         </GeometryDrawing.Brush> 
        </GeometryDrawing> 
        <GeometryDrawing Geometry="F1 M 144.645,515.816L 147.521,515.816L 147.521,521.56L 151.24,521.56L 154.939,521.56L 154.939,515.816L 157.813,515.816L 151.219,508.743L 144.645,515.816 Z "> 
         <GeometryDrawing.Brush> 
          <LinearGradientBrush StartPoint="0.499986,1.00003" EndPoint="0.499986,5.23812e-005"> 
           <LinearGradientBrush.GradientStops> 
            <GradientStop Color="#FF50C400" Offset="0"/> 
            <GradientStop Color="#FF91F456" Offset="1"/> 
           </LinearGradientBrush.GradientStops> 
          </LinearGradientBrush> 
         </GeometryDrawing.Brush> 
        </GeometryDrawing> 
        <DrawingGroup ClipGeometry="F1 M 0,0L 793.701,0L 793.701,1122.52L 0,1122.52L 0,0 Z "> 
         <DrawingGroup.Children> 
          <GeometryDrawing Geometry="F1 M 151.24,521.56L 147.521,521.56L 147.521,515.815L 144.646,515.815L 151.218,508.743L 157.814,515.815L 154.938,515.815L 154.938,521.56L 151.24,521.56 Z "> 
           <GeometryDrawing.Pen> 
            <Pen Thickness="1.33333" LineJoin="Round" Brush="#FF076F00"/> 
           </GeometryDrawing.Pen> 
          </GeometryDrawing> 
         </DrawingGroup.Children> 
        </DrawingGroup> 
       </DrawingGroup.Children> 
      </DrawingGroup> 
     </DrawingBrush.Drawing> 
    </DrawingBrush> 
</ResourceDictionary> 
+0

Post it, und ich werde es so bearbeiten, dass es korrekt ist. Sie können jedoch alles in das Textfeld kopieren, auswählen und dann auf die Schaltfläche "1010" klicken. –

+0

Um ein Codebeispiel zu posten, fügen Sie einfach das xmal in das Editierfenster ein, markieren Sie den Abschnitt mit dem Code und drücken Sie die Codebeispiel-Schaltfläche. Das wird es für Sie formatieren. –

Antwort

2

Sie müssen es in einem ähnlichen Stil setzen:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Style TargetType="{x:Type Rectangle}"> 
     <Setter Property="Fill"> 
      <Setter.Value> 
       <DrawingBrush Stretch="Uniform"> 
        <DrawingBrush.Drawing> 
         <DrawingGroup> 
          <DrawingGroup.Children> 
           <GeometryDrawing Geometry="F1 M 141.781,503.813C 140.737,503.813 139.891,504.659 139.891,505.703L 139.891,524.601C 139.891,525.645 140.737,526.491 141.781,526.491L 160.679,526.491C 161.723,526.491 162.568,525.645 162.568,524.601L 162.568,505.703C 162.568,504.659 161.723,503.813 160.679,503.813L 141.781,503.813 Z "> 
            <GeometryDrawing.Brush> 
             <LinearGradientBrush StartPoint="0.499992,-1.61488e-005" EndPoint="0.499992,1"> 
              <LinearGradientBrush.GradientStops> 
               <GradientStop Color="#FFD1D3D4" Offset="0"/> 
               <GradientStop Color="#FFFFFFFF" Offset="1"/> 
              </LinearGradientBrush.GradientStops> 
             </LinearGradientBrush> 
            </GeometryDrawing.Brush> 
           </GeometryDrawing> 
           <DrawingGroup ClipGeometry="F1 M 0,0L 793.701,0L 793.701,1122.52L 0,1122.52L 0,0 Z "> 
            <DrawingGroup.Children> 
             <GeometryDrawing Geometry="F1 M 139.891,505.703C 139.891,504.659 140.737,503.814 141.781,503.814L 160.679,503.814C 161.723,503.814 162.568,504.659 162.568,505.703L 162.568,524.6C 162.568,525.644 161.723,526.491 160.679,526.491L 141.781,526.491C 140.737,526.491 139.891,525.644 139.891,524.6L 139.891,505.703 Z "> 
              <GeometryDrawing.Pen> 
               <Pen Thickness="1.33333" LineJoin="Round" Brush="#FFA7A9AC"/> 
              </GeometryDrawing.Pen> 
             </GeometryDrawing> 
            </DrawingGroup.Children> 
           </DrawingGroup> 
           <GeometryDrawing Geometry="F1 M 144.048,506.081C 143.005,506.081 142.159,506.927 142.159,507.969L 142.159,522.333C 142.159,523.377 143.005,524.223 144.048,524.223L 158.412,524.223C 159.455,524.223 160.301,523.377 160.301,522.333L 160.301,507.969C 160.301,506.927 159.455,506.081 158.412,506.081L 144.048,506.081 Z "> 
            <GeometryDrawing.Brush> 
             <LinearGradientBrush StartPoint="0.499951,1.00003" EndPoint="0.499951,-3.36442e-006"> 
              <LinearGradientBrush.GradientStops> 
               <GradientStop Color="#FFE6E8E8" Offset="0"/> 
               <GradientStop Color="#FFFFFFFF" Offset="1"/> 
              </LinearGradientBrush.GradientStops> 
             </LinearGradientBrush> 
            </GeometryDrawing.Brush> 
           </GeometryDrawing> 
           <GeometryDrawing Geometry="F1 M 144.645,515.816L 147.521,515.816L 147.521,521.56L 151.24,521.56L 154.939,521.56L 154.939,515.816L 157.813,515.816L 151.219,508.743L 144.645,515.816 Z "> 
            <GeometryDrawing.Brush> 
             <LinearGradientBrush StartPoint="0.499986,1.00003" EndPoint="0.499986,5.23812e-005"> 
              <LinearGradientBrush.GradientStops> 
               <GradientStop Color="#FF50C400" Offset="0"/> 
               <GradientStop Color="#FF91F456" Offset="1"/> 
              </LinearGradientBrush.GradientStops> 
             </LinearGradientBrush> 
            </GeometryDrawing.Brush> 
           </GeometryDrawing> 
           <DrawingGroup ClipGeometry="F1 M 0,0L 793.701,0L 793.701,1122.52L 0,1122.52L 0,0 Z "> 
            <DrawingGroup.Children> 
             <GeometryDrawing Geometry="F1 M 151.24,521.56L 147.521,521.56L 147.521,515.815L 144.646,515.815L 151.218,508.743L 157.814,515.815L 154.938,515.815L 154.938,521.56L 151.24,521.56 Z "> 
              <GeometryDrawing.Pen> 
               <Pen Thickness="1.33333" LineJoin="Round" Brush="#FF076F00"/> 
              </GeometryDrawing.Pen> 
             </GeometryDrawing> 
            </DrawingGroup.Children> 
           </DrawingGroup> 
          </DrawingGroup.Children> 
         </DrawingGroup> 
        </DrawingBrush.Drawing> 
       </DrawingBrush> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</ResourceDictionary> 

Dann in Ihrem App.xaml umfassen die Ressource als:

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="/RectStyle.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

Durch das Brechen x Einstellung: Taste auf der <Style> Ressource wird modifizieren alle Rectangl es in Ihrer Anwendung mit der angegebenen Füllung ... Wenn Sie mehr Stile für Ihre Rechtecke wollen, müssen Sie die x: Key = "RectStyle1" -Eigenschaft an die <Style> hinzufügen und spezifizieren, welchen Stil das Rechteck benötigt, um dies zu verwenden:

<Rectangle Style="{StaticResource RectStyle1}" /> 

Viel Spaß :)

+0

Ja, das hat funktioniert, denke, ich habe alles versucht, aber ich kann nicht haben: P Vielen Dank – MemoryToLow

+0

Wenn Sie nicht auf eine andere Antwort warten, markieren Sie diese als Antwort ... – Zenuka