Mega Code Archive

 
Categories / C# / WPF
 

Rotate a ListBox

<Window x:Class="WPFTransformations.Rotate"   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   Title="Rotate Transform" Height="350" Width="300">   <Grid>         <StackPanel Margin="8">             <TextBlock Height="25" Width="100"/>             <ListBox Height="100" Width="200" BorderThickness="2">                 <ListBoxItem Content="Item 1" Height="22"/>                 <ListBoxItem Content="Item 2" Height="22"/>                 <ListBoxItem Content="Item 3" Height="22"/>                 <ListBoxItem Content="Item 4" Height="22"/>                 <ListBox.RenderTransform>                    <RotateTransform                         Angle="{Binding ElementName=sliderAngle, Path=Value}"                          CenterX="{Binding ElementName=sliderCenterX, Path=Value}"                          CenterY="{Binding ElementName=sliderCenterY, Path=Value}"/>                 </ListBox.RenderTransform>             </ListBox>             <TextBlock Height="65" Width="100"/>             <Grid HorizontalAlignment="Center" Margin="2">                 <Grid.RowDefinitions>                     <RowDefinition/>                     <RowDefinition/>                     <RowDefinition/>                     <RowDefinition/>                 </Grid.RowDefinitions>                 <Grid.ColumnDefinitions>                     <ColumnDefinition/>                     <ColumnDefinition Width="110"/>                     <ColumnDefinition/>                 </Grid.ColumnDefinitions>                 <TextBlock Grid.Row="0" Grid.Column="0" Text="Angle:"/>                 <Slider Grid.Row="0" Grid.Column="1" Name="sliderAngle" Maximum="360" Minimum="-360"/>                 <TextBox Grid.Row="0" Grid.Column="2" Text="{Binding ElementName=sliderAngle, Path=Value}"/>                 <TextBlock Grid.Row="2" Grid.Column="0" Text="Center Y:"/>                 <Slider Grid.Row="2" Grid.Column="1" Name="sliderCenterY"/>                 <TextBox Grid.Row="2" Grid.Column="2" Text="{Binding ElementName=sliderCenterY, Path=Value}"/>             </Grid>         </StackPanel>         <StackPanel Margin="8">             <TextBlock Height="25" Width="100"/>             <Rectangle Height="100" Width="200" Stroke="Red" Fill="Red" Opacity=".05"/>         </StackPanel>     </Grid> </Window>