c# - 在 UWP 中应用 TranslateTransform 时,外部渲染的折线段不显示
问题描述
我正在绘制折线形状,并且可以在 UWP 的窗口外渲染点。在这种情况下,我将使用 TranslateTransform 平移折线以进行折线段。应用 TranslateTransform 时,段移动,但外部渲染线被截断。因为我有超过 15k 的点,所以每次鼠标移动时我都不能重绘折线。所以我在鼠标移动时设置了 TranslateTransform。
为了简单地重现此问题,我创建了示例,当您单击折线段时,我设置了 TranslateTransform。但是,外部渲染的折线不显示。
我的代码
<Grid x:Name="grid" PointerPressed="grid_PointerPressed" >
<Polyline x:Name="polyline" StrokeThickness="10" Stroke="Red" Points="200,250 2500,250">
<Polyline.RenderTransform>
<TranslateTransform x:Name="transform"/>
</Polyline.RenderTransform>
</Polyline>
</Grid>
C#:
私人无效grid_PointerPressed(对象发送者,PointerRoutedEventArgs e){ this.transform.X += -50; }
示例链接:折线
请让我知道我做错了什么。平移时如何显示外部渲染的折线段?
谢谢,
婆罗地。
解决方案
只需将折线包裹在画布中。
<Grid x:Name="grid" PointerPressed="grid_PointerPressed" >
<Canvas>
<Polyline x:Name="polyline" StrokeThickness="10" Stroke="Red" Points="200,250 2500,250">
<Polyline.RenderTransform>
<TranslateTransform x:Name="transform"/>
</Polyline.RenderTransform>
</Polyline>
</Canvas>
</Grid>
推荐阅读
- google-app-maker - 设置关系表的默认值
- liferay - Liferay - 动态数据列表获取记录 portlet
- ios - 直接将图像共享到 WhatsApp 无法在 iOS 上运行
- javascript - 将按钮 onmouseover 更改为 onclick
- google-cloud-build - 如何将触发器添加到谷歌云构建中的队列?
- android - CameraX 随机崩溃并出现 IllegalStateException
- javascript - 无法使用 Javascript 将新的键值对添加到现有的 json 数组
- ruby - 如果值为0,则返回1,如果值大于0,则返回值的最佳方法是什么
- reactjs - React App:如何实现 Facebook 登录?
- java - 声纳 Java 过滤器抛出 UnsupportedOperationException