wpf控件监听操纵,即使上面还有其他控件
本文关键字:控件 其他 监听 操纵 wpf | 更新日期: 2023-09-27 18:25:26
我有一个Grid控件,它附带了一些操纵侦听器,我希望这个侦听器对操纵做出反应,即使它上面有其他控件
<Grid ManipulationDelta="sliderTouch" ManipulationCompleted="sliderEnd" ManipulationStarted="sliderStart" IsManipulationEnabled="True" x:Name="marcoPannelGrid" Grid.Column="1" HorizontalAlignment="Center" Height="548" Margin="50,0" Grid.Row="5" VerticalAlignment="Top" Width="980" Grid.RowSpan="2" RenderTransformOrigin="0.5,0.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="27*"/>
<ColumnDefinition Width="525*"/>...
和操作的代码位
if (e.CumulativeManipulation.Translation.X > MOVEMENT_THRESH)
{
marcoTouch = false;
e.Complete();
//doing animations
}
如果控件位于接收操作的其他对象后面,则控件无法对触摸做出反应-这将导致对其他控件的操作出现模糊行为。但是,如果您所说的网格在嵌套在控件中时不接收事件,则有时必须在WPF中设置Background="Transparent"
属性才能接收操作。
如果上面的控件不需要任何交互(即它们不需要响应点击或鼠标按下事件),那么您可以始终将它们的"IsHitTestVisible"属性设置为False,从而使它们透明(就命中测试而言)。