Tim*_*hyP 10 size wpf viewbox actualwidth
考虑以下:
假设Window是1024x768并且ViewBox填充整个窗口,这意味着TextBox在屏幕上非常大.
我想获得当前在屏幕上的TextBox的大小.如果我得到DesiredSize或ActualSize甚至是RenderedSize,我总是得到100.
有什么建议?
更新:我可能会得到ActualWidthViewBox并将其除以它ActualWidth的子项,这会给我当前的比例因子并以某种方式将其作为属性公开,但我不确定这是最好的方法.
Mar*_*ter 19
这是你如何获得ScaleTransform在ViewBox其子女发挥:
var child = VisualTreeHelper.GetChild(viewBox, 0) as ContainerVisual;
var scale = child.Transform as ScaleTransform;
Run Code Online (Sandbox Code Playgroud)
这viewBox是文本框所在的ViewBox.然后你可以乘以scale.ScaleX * textBox.ActualWidth你得到屏幕坐标的大小
但它变得更容易!要直接在屏幕坐标中获取该文本框的大小,请执行以下操作:
textbox.PointToScreen(new Point(textbox.ActualWidth,textbox.ActualHeight)) - textbox.PointToScreen(new Point(0,0))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3490 次 |
| 最近记录: |