這個問題與another question有關,我剛剛在SO上也沒有提到。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
當您想讓控件對Interaction透明時,IsHitTestVisible非常有用。 – coldjokelife