<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>
我得到&#34;&#39; IsMouseOver &#39;成员无效,因为它没有合格的类型名称&#34;。需要帮助来解决这个问题。
第二个问题。 我可以在按钮触发器中更改 lineNewGame 的参数吗?怎么样?
答案 0 :(得分:2)
回答你的第一个问题:
您可以使用UIElement.IsMouseOver
和Button.Content
来避免此错误消息。但是接下来你会遇到下一个问题:“触发器集合成员必须是EventTrigger类型”。
在FrameworkElement
中,您可以使用:
EventTrigger
在Style
,ControlTemplate
,DataTemplate
,您可以使用:
EventTrigger,
Trigger or MultiTrigger,
DataTrigger or MultiDataTrigger
答案 1 :(得分: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>
答案 2 :(得分:1)
常规触发器和DataTriggers应该是Style,period。
您可以在示例中直接使用的唯一类型的触发器是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>