有谁知道:
尝试了方法:
myControl.TranslatePoint(new Point(0,0),null)
; myControl.RenderTransformOrigin = new Point(0.0,0.0);
myControl.RenderTransformOrigin = new Point(0.5,0.5);
myControl.RenderTransformOrigin = new Point(1.0,1.0);
尝试更改VerticalAlignment和HorizontalAlignment。
什么都没发生。
作为分析,我尝试在MouseMove事件中放置一条红线,其中包含Canvas Origin的起点和终点:
myLine.X2 = myControl.TranslatePoint(new Point(0,0),null).X;
myLine.Y2 = myControl.TranslatePoint(new Point(0,0),null).Y;
此行指向控制中心的某些控件,以及右上角的其他一些控件,但从不在左上角。
ALL控件的对齐设置为拉伸/拉伸。
答案 0 :(得分:0)
谷歌搜索周围,由于DPI的变化/设置,我发现了类似场景的一些有趣的解释:我尝试过简单地将DPI从100%切换到120%并返回:
WPF现在报告我的Canvas上另一个错误的控件定位,但我的问题中的所有问题现在似乎都有解释,但还不是解决方案。
错误的DPI集如何能够影响HitTest,TranslateTransforms和Render过程,而不会影响Canvas.SetLeft / Right / Top / Bottom或Margin propery或ScaleTransform?
我在汇编中读到了关于DisableDpiAwarenessAttribute的内容,但似乎无法正常工作...... 会发生什么事?