Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1895 | Besucher online: 121
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

WPF - Buttons "OK/Cancel" - endlich unverwechselbar -


Autor: DotNetMastermind
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 5868
  
Kick it on dotnet-kicks.de  

Beschreibung:

Bei vielen Anwendungen kann man in einem Dialogfenster nicht auf den ersten Blick erkennen, welcher Button eine positive und welcher eine negative Entscheidung auslöst.

Mithilfe der NextGenButtons kann man dies sehr elegant lösen.

Hierbei werden immer grüne Buttons für „positive Entscheidungen“ wie z.B. Ja, Ok, Speichern etc. und rote Buttons für „negative Entscheidungen“ wie z.B. Nein, Abbrechen, Nicht speichern verwendet.

Screenshot der Beispiel-Anwendung => http://twitpic.com/2w4j8q oder http://twitpic.com/2ws43j


Abgelegt unter: GUI, XAML, WPF, Button, Control, Template, Triggers, Dialogbox, LinearGradientBrush, Entscheidung, eindeutig.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<Window x:Class="OKCancelButtons.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title=".Net-Snippets - OKCancelButtons" Height="180" Width="350">

  <Window.Resources>
    <LinearGradientBrush x:Key="GridBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
      <GradientStop Offset="0" Color="Black"/>
      <GradientStop Offset="0.7" Color="DimGray"/>
      <GradientStop Offset="1" Color="Gray"/>
    </LinearGradientBrush>

    <!-- **************************************************************************************** <-->
    <!-- **************************** Template für grüne Buttons ******************************** <-->
    <!-- **************************************************************************************** <-->
    <ControlTemplate x:Key="GreenButton" TargetType="{x:Type Button}">
      <Border BorderBrush="White" BorderThickness="1" CornerRadius="3">
        <Border BorderBrush="Green" BorderThickness="1" CornerRadius="3">
          <Grid Name="ButtonGrid">
            <Rectangle Name="ButtonRect">
              <Rectangle.Fill>
                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                  <GradientStop Offset="0" Color="LightGreen" />
                  <GradientStop Offset="0.49" Color="Green" />
                  <GradientStop Offset="0.5" Color="Green" />
                  <GradientStop Offset="1" Color="DarkGreen" />
                </LinearGradientBrush>
              </Rectangle.Fill>
            </Rectangle>
            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Width="Auto" />
          </Grid>
        </Border>
      </Border>

      <ControlTemplate.Triggers>
        <!-- Bei Mausbewegung über den Button ... -->
        <Trigger Property="IsMouseOver" Value="True">
          <!-- Buttonhintergrund heller darstellen -->
          <Setter Property="Fill" TargetName="ButtonRect">
            <Setter.Value>
              <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                <GradientStop Offset="0" Color="GreenYellow" />
                <GradientStop Offset="1" Color="Green" />
              </LinearGradientBrush>
            </Setter.Value>
          </Setter>
          <!-- Leuchteffekt -->
          <Setter Property="BitmapEffect">
            <Setter.Value>
              <OuterGlowBitmapEffect GlowColor="White" GlowSize="5" />
            </Setter.Value>
          </Setter>
        </Trigger>

        <Trigger Property="IsPressed" Value="True">
          <Setter Property="Fill" TargetName="ButtonRect" Value="#FF115011" />
        </Trigger>
      </ControlTemplate.Triggers>
    </ControlTemplate>

    <!-- **************************************************************************************** <-->
    <!-- **************************** Template für rote Buttons ********************************* <-->
    <!-- **************************************************************************************** <-->
    <ControlTemplate x:Key="RedButton" TargetType="{x:Type Button}">
      <Border BorderBrush="White" BorderThickness="1" CornerRadius="3">
        <Border BorderBrush="DarkRed" BorderThickness="1" CornerRadius="3">
          <Grid Name="ButtonGrid">
            <Rectangle Name="ButtonRect">
              <Rectangle.Fill>
                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                  <GradientStop Offset="0" Color="Pink" />
                  <GradientStop Offset="0.49" Color="Red" />
                  <GradientStop Offset="0.5" Color="Red" />
                  <GradientStop Offset="1" Color="DarkRed" />
                </LinearGradientBrush>
              </Rectangle.Fill>
            </Rectangle>
            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Width="Auto" />
          </Grid>
        </Border>
      </Border>

      <ControlTemplate.Triggers>
        <!-- Bei Mausbewegung über den Button ... -->
        <Trigger Property="IsMouseOver" Value="True">
          <!-- Buttonhintergrund heller darstellen -->
          <Setter Property="Fill" TargetName="ButtonRect">
            <Setter.Value>
              <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                <GradientStop Offset="0" Color="Pink" />
                <GradientStop Offset="1" Color="Red" />
              </LinearGradientBrush>
            </Setter.Value>
          </Setter>
          <!-- Leuchteffekt -->
          <Setter Property="BitmapEffect">
            <Setter.Value>
              <OuterGlowBitmapEffect GlowColor="White" GlowSize="5" />
            </Setter.Value>
          </Setter>
        </Trigger>

        <Trigger Property="IsPressed" Value="True">
          <Setter Property="Fill" TargetName="ButtonRect" Value="#FF701111" />
        </Trigger>
      </ControlTemplate.Triggers>
    </ControlTemplate>

  </Window.Resources>

  <Grid Background="{StaticResource GridBackgroundBrush}">
    <TextBlock Foreground="White" FontFamily="Arial" FontSize="13" Margin="25" TextWrapping="Wrap"
               HorizontalAlignment="Center" TextAlignment="Center"
               Text="Sollen die von Ihnen eingegebenen Daten permanent gespeichert werden ?"/>
    
    <Button Name="btnOK" Content="Speichern" Margin="40,0,0,25" Width="110" Height="30"
            HorizontalAlignment="Left" VerticalAlignment="Bottom" Foreground="White"
            Template="{DynamicResource GreenButton}"/>

    <Button Name="btnCancel" Content="Nicht speichern" Margin="0,0,40,25" Width="110" Height="30"
            HorizontalAlignment="Right" VerticalAlignment="Bottom" Foreground="White"
            Template="{DynamicResource RedButton}"/>
  </Grid>
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:
[C#] Threadsichere GUI Änderungen
[C#] Events aus Worker-Thread im GUI-Thread werfen! Kein Invoke!
[C#] Maus Sanduhr zeigen wenn Methode ausgeführt wird
[C#] Hochwertige (optisch ansprechende) WPF - Buttons
[C#] Visuelles Feedback fokussierter Text Boxen
[C#] TextBlock animiert ein- und ausblenden
[C#] Alle verfügbaren Farben mittels WPF ausgeben
[C#] WPF Formulare dynamisch laden
[C#] XAML Grundlagen in Silverlight 3
[C#] Daten aus einer Datenbank in WPF darstellen
[C#] WPF-Steuerelemente in Windows Forms-Anwendung nutzen
[C#] Transparente WPF-Anwendung
[C#] Rechtschreibhilfe in .NET WPF Anwendung integrieren
[C#] WPF: Image aus dem Web in Image-Element anzeigen
[C#] Handle eines WPF Fensters ermitteln
[VB.NET] Theme für WPF-Anwendungen anwenden
[C#] WPF Fenster mit Aero Glass
[C#] Bilder aus *.resx Ressourcen Dateien in WPF verwenden
[C#] RoutedEvent erstellen
[C#] Automatische Anpassung der Breite von GridViewColumns
[C#] TaskDialog anzeigen
[C#] User-Management für WPF Smart Client Anwendung
[C#] old Windows Forms Image to new WPF Image
[C#] FolderBrowseDialog in WPF
[C#] WPF Shortcut
[C#] Drag-and-Drop-Binding in .NET 4
[C#] Spalten des WPF-DataGrid in .NET 4 anpassen
[C#] WPF-Anwendung mit .NET 4 entwickeln
[C#] WPF Tutorial: Auf Datenbankinhalte mit WCF zugreifen
[C#] WPF: Mit Validation Rules Eingaben validieren
[C#] WPF: Rechtschreibhilfe in Anwendung integrieren
[C#] WPF-Splash-Fenster
[VB.NET] Ist Silverlight im Design Modus oder in der IDE (WPF)
[C#] Ribbon-Oberfläche in WPF implementieren
[C#] InputBox WPF C#
[ASP.net] Submit Button für einen Bereich
[ASP.net] Button Click -> neues Fenster
[ASP.net] Type eines belibigen Controls bestimmen
[VB.NET] Oft benötigte Properties von Controls schnell zentral ausfüh
[VB.NET] Das Klick-Event von Controls gemeinsam auffangen und zentral
[C#] Fading MessageBox ohne Buttons
[C#] Button mit Hintergrundbild
[VB.NET] Webcam in PictureBox anzeigen
[C#] Doppelbufferung für Steuerelemente aktivieren
[C#] Transparenter Hintergrund beim Steuerelement
[C#] CursorChanger
[ASP.net] NullReferenceException
[VB.NET] ControlResize wie in der IDE auch zur Laufzeit
[C#] Generischer Invoker für Windows Form Controls
[ASP.net] Formularelement fokusieren auf Ajax Seiten
[C#] Threadsichere und generische Kommunikation Windows Forms
[C#] Controls gleichen Typs von einem Container in Winform holen
[C#] Eigenschaften aller Steuerlemente eines Formulars setzen
[VB.NET] Alle Textboxen zurücksetzen
[ASP.net] bestimmtes Control auf der aspx-Seite finden
[VB.NET] Linien u. Kreise a la VB6 - Einfach Zeichnen
[C#] iTunes-ProgressBar
[C#] WaterBox
[VB.NET] Alle Controls einer Form Enablen/Disablen
[C#] Löschen aller TextControls auf einer Form in C#
[VB.NET] Control Resize wie in der IDE auch zur Laufzeit - Extended
[VB.NET] List all controls by using the name of the controls
[C#] Custom Toolstrip Renderer
[C#] Prüfen ob in einem Verzeichnis Schreibrechte verfügbar sind!
[C#] Darstellung eines ASP.NET Steuerelementes als HTML-String
[C++] Wiederholungen mit Templates
[C#] LINQ-Erweiterung für eindeutige Liste
[C#] eindeutigen Dateinamen ermitteln

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.