Мне нужно выяснить, как изменить UserControl's
Width
и Height
во время выполнения. Я пытаюсь сделать это во время события mouseMove
. Width
и Height
установлены в Auto
в XAML
.Изменение ширины и высоты на UserControl во время выполнения
'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
а не Page
где UserControl
жизнь - если это помогает.
Рассмотрим контейнер и его свойства - авто и растягиваться используются здесь:
<Grid x:Name="LayoutRoot" Background="Transparent" >
<Canvas Name="cnv" Margin="18">
<Rectangle Name="Rect" Margin="0" />
</Canvas>
</Grid>
Это свойства «ReadOnly», поэтому, я думаю, я не понимаю, как их использовать. Я даже пытался начать с фиксированного размера, чтобы избежать NaN. – OneFineDay
Я обнаружил, что если я установил все три (UC, Grid, Canvas) на размер, который изменит Width, но мне нужно, чтобы Grid и Canvas изменяли размер (растягивание) на UC - что не происходит, если они установлены к Авто и UC установлен в размер в целом. Очень смущает! – OneFineDay
Width = ActualWidth + deltaH –