본문 바로가기

.NET/WPF 2D

WPF 2D RenderTransform ScaleTransform Slider 바인딩 Canvas.ClipToBounds

반응형


<StackPanel Height="280" Width="250"> <Border BorderBrush="Black" BorderThickness="1"                Height="200" Width="200" Margin="20"> <Canvas Height="200" Width="200" ClipToBounds="True"> <!--ClipToBounds 내부 컨텐트를 켄버스안에만 표시 할것인지 설정--> <Canvas.RenderTransform>     <TransformGroup>         <ScaleTransform ScaleY="-1" />         <TranslateTransform Y="200" />     </TransformGroup> </Canvas.RenderTransform> <Line X1="0" Y1="0" X2="80" Y2="80" Stroke="Black" StrokeThickness="2">     <Line.RenderTransform>         <ScaleTransform   ScaleX="{Binding ElementName=slider,Path=Value}"   ScaleY="{Binding ElementName=slider,Path=Value}"/>     </Line.RenderTransform> </Line> <Rectangle Canvas.Top="100" Canvas.Left="30"                             Width="80" Height="40"                              Stroke="DarkRed"                              StrokeThickness="3"> <Rectangle.RenderTransform> <ScaleTransform                                   ScaleX="{Binding ElementName=slider,Path=Value}"                                   ScaleY="{Binding ElementName=slider,Path=Value}"/> </Rectangle.RenderTransform> </Rectangle> </Canvas> </Border> <Slider Name="slider" Minimum="0" Maximum="10"            Value="1" TickPlacement="BottomRight"            TickFrequency="0.2"   IsSnapToTickEnabled="True"/> </StackPanel>





reference : Practical WPF Graphics Programming