2017-01-26 4 views
0

Ich habe ein kleines Problem, das irgendwie einfach scheint, aber ich kann nicht herausfinden, wie man es löst. In Visual Studio habe ich diese App mit WPF erstellt und innerhalb eines Grids mit Zeilen und Spalten einige Schaltflächen platziert. Jetzt, jedes Mal wenn ich meine App starte, leuchtet der erste Knopf in der ersten Zeile, als wäre er angeklickt. Ich denke, das sieht wirklich komisch aus und ich möchte, dass meine Taste wie die anderen Tasten aussieht. Gibt es eine Möglichkeit, das zu stoppen? Vielen Dank im Voraus, ich freue mich über jede Hilfe!WPF: Knopf leuchtet, wenn App gestartet wird

+0

Könnte es sein, dass die erste Taste fokussiert? Wenn Sie die Tabulatortaste drücken, wechselt der Leuchteffekt zu einer anderen Taste? – wkl

+0

Ja, ich denke das ist es. Die Schaltfläche ist standardmäßig aktiviert, wenn die App gestartet wird. Gibt es dennoch eine Möglichkeit, den Fokus anderswo zu setzen? – MaChaToc

+1

Sie können [this] (http://stackoverflow.com/a/1343970/4011717) versuchen oder 'Button.Focusable' auf false setzen. Das Ändern des 'TabIndex' könnte es auch lösen. Alle diese Methoden haben unterschiedliche Auswirkungen, also wähle sorgfältig ... – wkl

Antwort

0

Wenn das beschriebene Verhalten die fokussierte Animation ist, können Sie den Fokus in einem anderen Steuerelement mit der Control.Focus() - Funktion festlegen.

Sie können überprüfen, ob es der fokussierte Stil ist, der Sie stößt, um den Fokus auf das nächste Steuerelement zu setzen.

+0

Nun, ich möchte keine Kontrolle am Anfang konzentrieren – MaChaToc

0

Sie benötigen Style für Ihre Tasten zu verwenden, in der Style setzen alle Eigenschaften Ihrer Taste wie Background, Foreground und Sie können auch triggers für verschiedene Veranstaltungen auf Tasten zuweisen. Dies verhindert, dass die Taste kontinuierlich blinkt.

Unten ist ein Beispiel von oben (standardmäßig blaue Farbe Tasten Ich gründe)

Im XAML

<Page> 
     <Page.Resources> 
       <Style TargetType="{x:Type Button}" x:Key="NonFocusButton"> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate TargetType="{x:Type Button}"> 
          <Border Name="Border" 
         Background="Blue" 
         BorderBrush="Blue"> 
          </Border> 
          <ControlTemplate.Triggers> 
           <Trigger Property="Button.IsPressed" Value="True"> 
            <Setter TargetName="Border" Property="BorderBrush" Value="Blue" /> 
           </Trigger> 
           <Trigger Property="IsMouseOver" Value="true"> 
            <Setter TargetName="Border" 
           Property="Background" Value="Blue" /> 
           </Trigger> 
          </ControlTemplate.Triggers> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
      </Style> 

     <Button x:Name"myButton" Style="{StaticResource NonFocusButton}" /> //Assign style here 
     </Page.Resources> 
    </Page> 
Verwandte Themen