Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1895 | Besucher online: 96
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)

Visuelles Feedback fokussierter Text Boxen


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

Beschreibung:

Mithilfe dieses Snippets ist es möglich die fokussierten Textboxen in einer Maske eindeutig zu Kennzeichnen.
Hierzu muss lediglich folgendes Style-Template als Window.Resource festgelegt und der gewünschten TextBox als Style-Resource zugewiesen werden :

XAML-Code
Style x:Key="TextBoxStyleSilverWhite" TargetType="TextBox">
Setter Property="Foreground" Value="Black"/>
Setter Property="Background" Value="Gainsboro"/>
Setter Property="FontFamily" Value="Arial"/>
Setter Property="FontSize" Value="12"/>
Setter Property="HorizontalAlignment" Value="Left"/>
Setter Property="VerticalAlignment" Value="Top"/>
Style.Triggers>
Trigger Property="IsMouseOver" Value="True">
Setter Property="BorderBrush" Value="White"/>
/Trigger>
Trigger Property="IsFocused" Value="True">



/Trigger>
/Style.Triggers>
/Style>

(PS: Die öffnenden Tagbezeichner „<“ fehlen, da sonst eine vernünftige Darstellung auf dieser Webseite nicht möglich ist)

C#-Code
Style = (Style)MasterGrid.FindResource("TextBoxStyleSilverWhite")


Damit entfällt für den Anwender die manchmal doch schon schwierige Suche nach dem fokussierten Textfeld und die häufige Frage "wo befindet sich der Cursor...?"

Screenshot der Beispiel-Anwendung => http://twitpic.com/2wupd6


Abgelegt unter: GUI, XAML, WPF, TextBox, Control, Style, Styles, Triggers, Textfelder.



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
XAML-Code

<Window x:Class="TextBoxFocus.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title=".Net-Snippets - TextBoxFocus" Height="360" Width="300">
  <Window.Resources>
    <!-- **************************************************************************************** <-->
    <!-- ****************************** Farbverlauf "Hintergrund"  ****************************** <-->
    <!-- **************************************************************************************** <-->
    <LinearGradientBrush x:Key="GridBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
      <GradientStop Offset="0" Color="DimGray" />
      <GradientStop Offset=".59" Color="DarkGray" />
      <GradientStop Offset=".60" Color="DarkGray" />
      <GradientStop Offset="1" Color="DimGray" />
    </LinearGradientBrush>
    <!-- **************************************************************************************** <-->
    <!-- **************************** Template für schwarze Buttons ***************************** <-->
    <!-- **************************************************************************************** <-->
    <ControlTemplate x:Key="BlackButton" TargetType="{x:Type Button}">
      <Border BorderBrush="White" BorderThickness="1" CornerRadius="3">
        <Border BorderBrush="DarkGray" BorderThickness="1" CornerRadius="3">
          <Grid Name="ButtonGrid">
            <Rectangle Name="ButtonRect">
              <Rectangle.Fill>
                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                  <GradientStop Offset="0" Color="Gray" />
                  <GradientStop Offset="0.49" Color="DimGray" />
                  <GradientStop Offset="0.5" Color="DimGray" />
                  <GradientStop Offset="1" Color="Black" />
                </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="Silver" />
                <GradientStop Offset="1" Color="Black" />
              </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="#FF000000" />
        </Trigger>
      </ControlTemplate.Triggers>
    </ControlTemplate>
    <!-- **************************************************************************************** <-->
    <!-- ************************* Style-Template für "aktive Textboxen" ************************ <-->
    <!-- **************************************************************************************** <-->
    <Style x:Key="TextBoxStyleSilverWhite" TargetType="TextBox">
      <Setter Property="Foreground" Value="Black"/>
      <Setter Property="Background" Value="Gainsboro"/>
      <Setter Property="FontFamily" Value="Arial"/>
      <Setter Property="FontSize" Value="12"/>
      <Setter Property="HorizontalAlignment" Value="Left"/>
      <Setter Property="VerticalAlignment" Value="Top"/>
      <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
          <Setter Property="BorderBrush" Value="White"/>
        </Trigger>
        <Trigger Property="IsFocused" Value="True">
          <Setter Property="Background" Value="White"/>
          <Setter Property="BorderBrush" Value="Yellow"/>
          <Setter Property="BorderThickness" Value="1"/>
        </Trigger>
      </Style.Triggers>
    </Style>
  </Window.Resources>

  <Grid x:Name="MasterGrid" Background="{StaticResource GridBackgroundBrush}">
      <Button Name="btnClose" Content="Schließen" Margin="0,0,0,15" Width="110" Height="30"
            HorizontalAlignment="Center" VerticalAlignment="Bottom" Foreground="White" Click="btnClose_Click"
            Template="{DynamicResource BlackButton}" />
  </Grid>
</Window>

C#-Code

    public Window1()
    {
      InitializeComponent();

      for( int i=0; i<10; i++ )
      {
        MasterGrid.Children.Add( new Label()
        {
          Margin = new Thickness( 10, i * 25 + 8, 0, 0 ),
          HorizontalAlignment = HorizontalAlignment.Left,
          VerticalAlignment = VerticalAlignment.Top,
          Content = "Beschreibung Nr. " + (i+1), Foreground = Brushes.White
        } );
        MasterGrid.Children.Add( new TextBox()
        {
          Margin = new Thickness( 130, i * 25 + 10, 0, 0 ),
          Width = 140, Height = 20, TabIndex = i+1,
          Style = (Style)MasterGrid.FindResource("TextBoxStyleSilverWhite"),
          Text = "TextBox Nr. " + (i+1)
        } );
      }
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#] WPF - Buttons "OK/Cancel" - endlich unverwechselbar -
[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#
[C#] alle Textboxen in einer Form löschen
[C#] Textbox auf Enter prüfen
[ASP.net] SetFocus in eine Textbox - ASP.NET
[C#] Markierte Zeichen in Textbox löschen
[C#] Textbox Strg-A
[C#] numerische TextBox
[C#] Autosize-TextBox
[VB.NET] Textbox-Extension nur numerische Werte zulassen mit Ein-/Aus
[C#] Autoscroll in einer Textbox
[VB.NET] Alle Textboxen zurücksetzen
[C#] String auf erlaubte Zeichen prüfen
[C#] AutoComplete TextBox
[VB.NET] Oft benötigte Properties von Controls schnell zentral ausfüh
[VB.NET] Das Klick-Event von Controls gemeinsam auffangen und zentral
[C#] Löschen aller TextControls auf einer Form in C#
[VB.NET] Beep bei Enter in der Textbox unterdrücken
[VB.NET] ''Enter'' in TextBox
[C#] Textbox Context Menu abschalten
[C#] Tabstopp-Breite setzen
[C#] NumTextBox (Kurzversion)
[C#] TextBox nur mit Zahleneingabe
[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
[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
[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

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