鼠标按下扳机进行控制
本文关键字:控制 扳机 鼠标 | 更新日期: 2023-09-27 18:37:14
我有一个主要有一个图像的控件(我稍后会添加更多)。我已经定义了模板.我想定义鼠标按下的触发器,但在控件类文档中找不到任何触发器。我应该检查哪个属性的鼠标单击。
<Grid>
<Control x:key="Mycontrol" Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center">
<Control.Style>
<Style TargetType="{x:Type Control}">
<Setter Property="Width" Value="220"/>
<Setter Property="Height" Value="540"/>
<Setter Property="IsHitTestVisible" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate >
<Grid>
<Image Source="Base.png" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="XXXXXXX" Value="True">
<Setter Property="Background" Value="Black"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Control.Style>
</Control>
</Grid>
如果要"捕获"鼠标单击触发器以更改控件的某些其他属性,则可以使用 EventTrigger。
<EventTrigger RoutedEvent="Mouse.MouseDown">
<BeginStoryboard>
<Storyboard>
<ColorAnimation ... />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
如果您的控件需要响应鼠标单击,则最好将 Button 用于此目的。IsPressed 属性在 ButtonBase 中定义,这将满足您的需求。
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background"
Value="Red" />
</Trigger>
</Style.Triggers>
</Style>