2017-01-26 1 views
0

J'ai un petit problème qui semble assez simple, mais je ne peux pas comprendre comment le résoudre. Dans Visual Studio j'ai fait cette application avec WPF et dans une grille avec des lignes et des colonnes j'ai placé quelques boutons. Maintenant, chaque fois que je lance mon application, le premier bouton de la première ligne brille comme si on avait cliqué dessus. Je pense que ça a l'air vraiment bizarre et j'aimerais que mon bouton ressemble aux autres boutons. Est-il possible d'arrêter cela? Merci d'avance, j'apprécie toute aide!WPF: Bouton allume lorsque l'application est lancée

+0

pourrait-il que le premier bouton est concentré? Lorsque vous appuyez sur Tab, l'effet de lueur se déplace-t-il sur un autre bouton? – wkl

+0

Oui, je pense que c'est ça. Le bouton est focalisé par défaut lorsque l'application est démarrée. Mais existe-t-il encore une possibilité de mettre l'accent ailleurs? – MaChaToc

+1

Vous pouvez essayer [this] (http://stackoverflow.com/a/1343970/4011717) ou définir 'Button.Focusable' sur false. Changer le 'TabIndex' pourrait le résoudre aussi. Toutes ces méthodes ont des effets différents alors choisissez avec soin ... – wkl

Répondre

0

Si le comportement que vous décrivez est l'animation ciblée, vous pouvez définir la mise au point dans un autre contrôle avec la fonction Control.Focus().

another_control.Focus(); 

Vous pouvez vérifier si c'est le style focalisé qui vous gêne pour définir le focus sur le contrôle suivant.

+0

Eh bien, je voudrais qu'aucun contrôle ne soit concentré au début – MaChaToc

0

Vous devez utiliser Style pour vos boutons, dans le Style définir toutes les propriétés de votre bouton comme Background, Foreground et vous pouvez également assigner triggers pour divers événements sur les boutons. Cela empêchera le bouton de clignoter continuellement.

est Ci-dessous un échantillon de ci-dessus (par défaut je réglage de la couleur bleue à boutons)

Dans le 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>