2 votes

La gâchette ne veut pas fonctionner. Cependant, il fonctionne bien lorsqu'il est dans le style

<Button Name="btnNewGame" Margin="120,292,450,180" Style="{StaticResource mainLobbyBtnStyle}">
        <Grid Height="35" Width="200">
            ...
            <Line Name="lineNewGame" X1="200" X2="200" Y1="0" Y2="35" ... />
        </Grid>
        <Button.Trigger>
            <Trigger Property="IsMouseOver" Value="true">
                <Setter Property="Content" Value="qwerty"/>
            </Trigger>
        </Button.Triggers>
</Button>

Je reçois "'. Souris en surbrillance Le membre ' n'est pas valide car il n'a pas de nom de type qualifiant". J'ai besoin d'aide pour résoudre ce problème.

Deuxième question. Puis-je modifier les paramètres de ligneNouveaujeu dans mon bouton de déclenchement ? Comment ?

3voto

LPL Points 9372

Pour répondre à votre première question :

Vous pouvez utiliser UIElement.IsMouseOver y Button.Content pour éviter ce message d'erreur. Mais vous vous heurteriez alors au problème suivant : "Les membres de la collection de déclencheurs doivent être de type EventTrigger".

En FrameworkElement que vous pouvez utiliser :

EventTrigger

En Style , ControlTemplate , DataTemplate que vous pouvez utiliser :

EventTrigger,
Trigger or MultiTrigger,
DataTrigger or MultiDataTrigger

3voto

WPF-it Points 10977

@NDQuattro, pourquoi ça craint ? En ajoutant 2 lignes supplémentaires à votre code, j'ai réussi à le faire fonctionner pour moi....

 <Button Name="btnNewGame" Margin="120,292,450,180">
     <Grid Height="35" Width="200">
         <Line Name="lineNewGame" X1="200" X2="200" Y1="0" Y2="35" ... />
     </Grid>
     <Button.Style>
         <Style TargetType="{x:Type Button}"
                BasedOn="{StaticResource mainLobbyBtnStyle}">
           <Style.Triggers> 
              <Trigger Property="IsMouseOver" Value="true">
                  <Setter Property="Content" Value="qwerty"/>
              </Trigger>
           </Style.Triggers> 
         </Style> 
     </Button.Style>
  </Button>

2voto

Baboon Points 8283

Les déclencheurs ordinaires et les déclencheurs de données sont censés se trouver dans un style, un point c'est tout.

Le seul type de déclencheur que vous pouvez utiliser directement, comme vous le faites dans votre exemple, est EventTrigger. Vous devez alors définir une animation (dans un storyboard) qui s'exécutera lorsqu'un événement se déclenchera.

Vous pouvez cependant le faire directement à l'intérieur :

<Button>
   <Button.Style>
      <Style Target="Button">
         <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="true">
                <Setter Property="Content" Value="qwerty"/>
            </Trigger>
         </Style.Triggers>
      </Style>
   </Button.Style>
</Button>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X