PDA

View Full Version : مبتدی: چرخاندن خود فرم (پنجره) توسط کد



ali.khoban
جمعه 16 خرداد 1393, 20:38 عصر
با سلام خدمت دوستان

من میدونم و بلدم که چطوری یک کنترل رو بچرخونم با این کد :


RotateTransform rt = new RotateTransform();
DoubleAnimation da = new DoubleAnimation();
da.From = 0;
da.To = 45;
da.SpeedRatio = 10;
da.Duration = new Duration(TimeSpan.FromSeconds(1));
label1.RenderTransform = rt;
rt.BeginAnimation(RotateTransform.AngleProperty, da);


119966
اما وقتی میخوام خود پنجره که کنترل ها توش هست رو بچرخونم مثه شکل زیر میشه :

119967

آیا راهی هست که بشه خود پنجره رو چرخوند؟یعنی اینطوری شه:
119968

ممنون مشم دوستانی که بلدن توضیح بدن.
پیشاپیش ممنون

elec60
جمعه 16 خرداد 1393, 23:03 عصر
شما نمی تونين هيچ Transform ای را به Window اعمال کنين. چون Window با استفاده از GDI رندر میشه.

elec60
جمعه 16 خرداد 1393, 23:14 عصر
از این روش میتونین استفاده کنین:


<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" AllowsTransparency="True" WindowStyle="None" Background="Transparent"
Title="MainWindow" Height="600" Width="600">
<Border BorderBrush="Green" BorderThickness="2" Background="White" Width="360" Height="360">
<Border.RenderTransform>
<RotateTransform Angle="-45" CenterX="180" CenterY="180"/>
</Border.RenderTransform>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="23" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Grid.Row="0" Content="X" Height="23" Width="23" Name="button1" HorizontalAlignment="Right" VerticalAlignment="Top" Click="button1_Click"/>
<Grid Grid.Row="1">
<TextBlock Text="Main Window " HorizontalAlignment="Center" />
</Grid>
</Grid>
</Border>
</Window>