2013-03-25 3 views
1

Windows 저장소 응용 프로그램의 모서리를 드래그하여 런타임에 TextBox 컨트롤의 크기를 조절할 수있는 방법에 대해 궁금한가요? 덜 중요하게도 모든 컨트롤의 크기를 조정하는 데 사용되는 동일한 기술이 사용됩니까?Windows 저장소 응용 프로그램에서 컨트롤 크기 조정

감사합니다.

+0

나는이 솔루션을 추천 할 수 있습니까? http://stackoverflow.com/a/32785999/265706 행운을 빈다. –

답변

4

다른 사람의 텍스트 상자에 대해서만 제공합니다. 동일합니다.

는 XAML 코드

<Page> 
    <Canvas Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> 
     <Grid x:Name="grdTextbox" Canvas.Left="300" Canvas.Top="300" Height="40" Width="200"> 
      <Thumb x:Name="ThumbBottomRight" Background="White" Height="10" Width="10" HorizontalAlignment="Right" DragDelta="ThumbBottomRight_DragDelta" VerticalAlignment="Bottom"/> 
      <Thumb x:Name="ThumbBottomLeft" Background="White" Height="10" Width="10" HorizontalAlignment="Left" DragDelta="ThumbBottomLeft_DragDelta" VerticalAlignment="Bottom"/> 
      <Thumb x:Name="ThumbTopRight" Background="White" Height="10" Width="10" HorizontalAlignment="Right" DragDelta="ThumbTopRight_DragDelta" VerticalAlignment="Top"/> 
      <Thumb x:Name="ThumbTopLeft" Background="White" Height="10" Width="10" HorizontalAlignment="Left" DragDelta="ThumbTopLeft_DragDelta" VerticalAlignment="Top"/> 
      <TextBox Margin="5" Text="This is resizable textbox"/> 
     </Grid> 
    </Canvas> 
</Page> 

C# 코드는

private void ThumbTopLeft_DragDelta(object sender, DragDeltaEventArgs e) 
{ 
    grdTextbox.Width -= e.HorizontalChange; 
    grdTextbox.Height -= e.VerticalChange; 
    Canvas.SetLeft(grdTextbox, Canvas.GetLeft(grdTextbox) + e.HorizontalChange); 
    Canvas.SetTop(grdTextbox, Canvas.GetTop(grdTextbox) + e.VerticalChange); 
} 

private void ThumbTopRight_DragDelta(object sender, DragDeltaEventArgs e) 
{ 
    grdTextbox.Width += e.HorizontalChange; 
    grdTextbox.Height -= e.VerticalChange; 
    Canvas.SetTop(grdTextbox, Canvas.GetTop(grdTextbox) + e.VerticalChange); 
} 

private void ThumbBottomLeft_DragDelta(object sender, DragDeltaEventArgs e) 
{ 
    grdTextbox.Width -= e.HorizontalChange; 
    grdTextbox.Height += e.VerticalChange; 
    Canvas.SetLeft(grdTextbox, Canvas.GetLeft(grdTextbox) + e.HorizontalChange); 
} 

private void ThumbBottomRight_DragDelta(object sender, DragDeltaEventArgs e) 
{ 
    grdTextbox.Width += e.HorizontalChange; 
    grdTextbox.Height += e.VerticalChange; 
} 
+0

대단히 감사합니다. D. – oMETROo

+0

답변으로 표시하면 환영 할만한 일입니다. – Xyroid

관련 문제