【发布时间】:2021-09-23 11:47:46
【问题描述】:
我正在创建一个包含多个UI Elements 的UserControl 应用程序。 UserControl 使用 ItemsControl 渲染为 StackPanel,因为要渲染的 UserControls 的数量取决于用户的输入。
UserControl 中的基本 XAML 如下。
<Grid x:Name="Viewport" VerticalAlignment="Top" HorizontalAlignment="Center">
<Border x:Name="ViewportBorder" Background="White" BorderThickness="2, 2, 2, 2" BorderBrush="#FF353334" />
<Image x:Name="Image" Margin="0" UseLayoutRounding="True" ManipulationMode="Scale"/>
<InkCanvas x:Name="InkCanvas" />
<Canvas x:Name="SelectionCanvas" CompositeMode="SourceOver" />
</Grid>
当用户将鼠标悬停在SelectionCanvas 上时,我想更改光标图标(基于我的情况下的条件检查,您可能在源代码中看到)。这看起来很简单,所以我尝试使用PointerEntered 和PointerExited 事件来捕获和释放来自SelectionCanvas 的指针。和PointerMoved 更改光标图标。但似乎没有触发任何事件。
我也尝试绑定到 Viewport 网格元素,但也没有运气。
我不确定我在这里错过了什么。有人可以帮我吗?任何帮助深表感谢。请找到完整的源代码here。
- 请注意,启动项目
/Resources中包含一个示例 PDF,您必须从应用程序中打开它。
【问题讨论】:
-
@mm8 的回复应该可以解决问题。
-
是的,成功了。
标签: c# xaml events uwp custom-controls