繁体   English   中英

在运行时更改UserControl的宽度和高度

[英]Change the Width and Height on UserControl at runtime

我需要弄清楚如何在运行时更改UserControl's WidthHeight 我正在尝试在mouseMove事件中执行此操作。 XAMLWidthHeight设置为Auto

'mouseDown event
mouseVerticalPosition = e.GetPosition(Nothing).Y
mouseHorizontalPosition = e.GetPosition(Nothing).X

'mouseMove event
Dim deltaV As Double = e.GetPosition(Nothing).Y - mouseVerticalPosition
Dim deltaH As Double = e.GetPosition(Nothing).X - mouseHorizontalPosition

Me.Width = Me.Width + deltaH
UpdateLayout() 'does not work

这段代码位于UserControl内部,而不是UserControl所在的Page -如果有帮助的话。

考虑容器及其属性-在此处使用自动和拉伸:

<Grid x:Name="LayoutRoot" Background="Transparent" >
 <Canvas Name="cnv" Margin="18">
      <Rectangle Name="Rect" Margin="0" />
 </Canvas>
</Grid>

Width或“ Height上“ Auto设置的实际数值为Double.NaN 当您向该初始NaN值添加任何内容时,结果将始终仍然是NaN。 您既可以使用ActualWidth / ActualHeight作为要添加的数字,也可以尝试在设置值之前添加Double.IsNaN检查,如果为true,则只需使用ActualWidth / ActualHeight

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM