Этот вопрос связан с another question, который я только что спросил об этом.IsMouseOver не запускается
У меня есть холст с обоими Путями и TextBlock.
<Canvas>
<Path Name="pathNodeType" StrokeThickness="1">
<Path.Style>
<Style>
<Setter Property="Path.Stroke" Value="Black" />
<Setter Property="Path.Fill" Value="LightGray" />
<Style.Triggers>
<Trigger Property="Canvas.IsMouseOver" Value="True">
<Setter Property="Path.Stroke" Value="Blue" />
<Setter Property="Path.Fill" Value="LightBlue" />
</Trigger>
</Style.Triggers>
</Style>
</Path.Style>
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigureCollection>
<PathFigure IsClosed="True" StartPoint="20,40">
<PathFigure.Segments>
<PathSegmentCollection>
<ArcSegment Size="10,10" RotationAngle="45" IsLargeArc="True" SweepDirection="Clockwise" Point="50,40" />
<LineSegment Point="50,60" />
<LineSegment Point="20,60" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
</PathFigureCollection>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
<TextBlock HorizontalAlignment="Left" Margin="22,40,0,0" TextWrapping="Wrap" Text="AND" VerticalAlignment="Top" FontWeight="Bold"/>
</Canvas>
IsMouseOver свойство холста вызывает стиль пути, как я ожидаю его, когда указатель мыши находится над нарисованной траекторией. Тем не менее, когда указатель мыши находится над текстовым блоком (который позиционируется справа в середине рисованного пути), тогда стиль пути не запускается, как я ожидаю.
Почему это не срабатывает? Текстовый блок находится внутри холста, так что технически говоря, не является указателем мыши над холстом?
Заранее благодарим за помощь.
Спасибо за помощь. Я видел IsHitTestVisible на разных сайтах, но я не изучал, что он сделал. Похоже, мне нужно немного почитать об этом. :) – Jagd
IsHitTestVisible очень полезен, если вы хотите, чтобы управление стало прозрачным для взаимодействия. – coldjokelife