2
<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>

「' IsMouseOver ' メンバーは、適切な型名がないため有効ではありません」というメッセージが表示されます。これを修正するには助けが必要です。

そして2問目。ボタン トリガーでlineNewGameのパラメーターを変更できますか? どのように?

4

3 に答える 3

3

@NDQuattro、なぜそれが悪いのですか?あなたのコードにさらに2行追加することで、私はそれがうまくいくようになりました....

 <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> 
于 2012-05-03T13:39:25.257 に答える
3

最初の質問に答えるには:

と を使用UIElement.IsMouseOverButton.Contentて、このエラー メッセージを回避できます。しかし、次の問題が発生します。「トリガー コレクションのメンバーは EventTrigger 型でなければなりません」。

FrameworkElement使用できます:

EventTrigger

ではStyle、次ControlTemplateDataTemplate使用できます。

EventTrigger,
Trigger or MultiTrigger,
DataTrigger or MultiDataTrigger
于 2012-05-03T13:12:52.697 に答える
2

通常のトリガーと DataTriggers は、スタイル、ピリオド内にあることが意図されています。

例で行っているように直接使用できるトリガーの唯一の種類は EventTrigger です。次に、イベントが発生したときに実行されるアニメーションを (ストーリーボードで) 定義する必要があります。

ただし、次のように直接実行できます。

<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>
于 2012-05-03T13:15:53.373 に答える