Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/CS/CarouselDemo.Wpf/Modules/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/CS/CarouselDemo.Wpf/Modules/MediaStore.xaml

<local:CarouselDemoModule x:Class="CarouselDemo.MediaStore"
    x:Name="MediaStoreModule"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:dxca="http://schemas.devexpress.com/winfx/2008/xaml/carousel"
    xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
    xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"        
    xmlns:local="clr-namespace:CarouselDemo"
    xmlns:collection="clr-namespace:System.Collections;assembly=mscorlib"
    xmlns:system="clr-namespace:System;assembly=mscorlib"
    xmlns:input="clr-namespace:System.Windows.Input;assembly=PresentationCore"
    
    >
    <local:CarouselDemoModule.Resources>
        <ResourceDictionary>
            <collection:ArrayList x:Key="ComponentInfoArray">
                <BitmapImage UriSource="/CarouselDemo;component/Data/Images/AlbumCovers/White.jpg"></BitmapImage>
                <BitmapImage UriSource="/CarouselDemo;component/Data/Images/AlbumCovers/Green.jpg"></BitmapImage>
                <BitmapImage UriSource="/CarouselDemo;component/Data/Images/AlbumCovers/Pink.jpg"></BitmapImage>
                <BitmapImage UriSource="/CarouselDemo;component/Data/Images/AlbumCovers/Blue.jpg"></BitmapImage>
                <BitmapImage UriSource="/CarouselDemo;component/Data/Images/AlbumCovers/Purple.jpg"></BitmapImage>
                <BitmapImage UriSource="/CarouselDemo;component/Data/Images/AlbumCovers/Green-Blue.jpg"></BitmapImage>
                <BitmapImage UriSource="/CarouselDemo;component/Data/Images/AlbumCovers/Red.jpg"></BitmapImage>
                <BitmapImage UriSource="/CarouselDemo;component/Data/Images/AlbumCovers/Yellow.jpg"></BitmapImage>
                <BitmapImage UriSource="/CarouselDemo;component/Data/Images/AlbumCovers/Gray.jpg"></BitmapImage>
            </collection:ArrayList>
            <dxca:ParameterCollection x:Key="parameterSet">
                <dxca:Parameter Name="ZIndex" DistributionFunction="{StaticResource {ComponentResourceKey TypeInTargetAssembly={x:Type dxca:CarouselPanel}, ResourceId=Linear3PConvexERIntMax}}" />
                <dxca:Parameter Name="Opacity">
                    <dxca:Parameter.DistributionFunction>
                        <dxca:PieceLinearFunction>
                            <dxca:PieceLinearFunction.Points>
                                <dxca:PointCollection>
                                    <Point X="0" Y="0" />
                                    <Point X="0.1" Y="1" />
                                    <Point X="0.5" Y="1" />
                                    <Point X="0.9" Y="1" />
                                    <Point X="1" Y="0" />
                                </dxca:PointCollection>
                            </dxca:PieceLinearFunction.Points>
                        </dxca:PieceLinearFunction>
                    </dxca:Parameter.DistributionFunction>
                </dxca:Parameter>
                <dxca:Parameter Name="Scale">
                    <dxca:Parameter.DistributionFunction>
                        <dxca:PieceLinearFunction>
                            <dxca:PieceLinearFunction.Points>
                                <dxca:PointCollection>
                                    <Point X="0" Y="3" />
                                    <Point X="0.5" Y="6" />
                                    <Point X="1" Y="3" />
                                </dxca:PointCollection>
                            </dxca:PieceLinearFunction.Points>
                        </dxca:PieceLinearFunction>
                    </dxca:Parameter.DistributionFunction>
                </dxca:Parameter>
                <dxca:Parameter Name="Angle3d">
                    <dxca:Parameter.DistributionFunction>
                        <dxca:PieceLinearFunction>
                            <dxca:PieceLinearFunction.Points>
                                <dxca:PointCollection>
                                    <Point X="0" Y="10" />
                                    <Point X="0.25" Y="40" />
                                    <Point X="0.5" Y="0" />
                                    <Point X="0.75" Y="-40" />
                                    <Point X="1" Y="-10" />
                                </dxca:PointCollection>
                            </dxca:PieceLinearFunction.Points>
                        </dxca:PieceLinearFunction>
                    </dxca:Parameter.DistributionFunction>
                </dxca:Parameter>
            </dxca:ParameterCollection>
        </ResourceDictionary>
    </local:CarouselDemoModule.Resources>

    <dxdb:DemoModuleControl>
        <Grid ClipToBounds="True">
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition Height="80" />
            </Grid.RowDefinitions>
            <Border Grid.Column="1" HorizontalAlignment="Stretch" x:Name="back" VerticalAlignment="Stretch" Width="Auto" Height="Auto" CornerRadius="0" Padding="0">
                <Grid Width="Auto" Height="Auto" ClipToBounds="True">
                    <Grid.RowDefinitions>
                        <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <Border HorizontalAlignment="Stretch" Margin="0,0,0,-1" VerticalAlignment="Stretch" Width="Auto" Height="Auto" CornerRadius="0">
                        <Border.Background>
                            <RadialGradientBrush GradientOrigin="0.5,0.522">
                                <RadialGradientBrush.RelativeTransform>
                                    <TransformGroup>
                                        <ScaleTransform CenterX="0.5" CenterY="0.5" ScaleX="0.973" ScaleY="1.608" />
                                        <SkewTransform AngleX="-0.128" AngleY="0" CenterX="0.5" CenterY="0.5" />
                                        <RotateTransform Angle="0" CenterX="0.5" CenterY="0.5" />
                                        <TranslateTransform X="0.001" Y="0.501" />
                                    </TransformGroup>
                                </RadialGradientBrush.RelativeTransform>
                                <GradientStop Color="#FF22242D" Offset="0" />
                                <GradientStop Color="#FF282A32" Offset="1" />
                            </RadialGradientBrush>
                        </Border.Background>
                    </Border>
                    <Border Background="Black" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Margin="0,-1,0,0" Grid.Row="1" CornerRadius="0" />
                    <Grid Grid.RowSpan="2">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="0.2*" />
                            <ColumnDefinition Width="0.6*" />
                            <ColumnDefinition Width="0.2*" />
                        </Grid.ColumnDefinitions>
                        <dxca:CarouselItemsControl Grid.Column="1" x:Name="carouselItemsControl" ItemsSource="{StaticResource ComponentInfoArray}" VerticalAlignment="Bottom" Focusable="False">
                            <ItemsControl.ItemContainerStyle>
                                <Style TargetType="{x:Type ContentControl}">
                                    <Setter Property="Focusable" Value="False" />
                                    <Setter Property="RenderTransformOrigin" Value="0.5, 0.5" />
                                    <Setter Property="Opacity" Value="{Binding Path=(dxca:CarouselPanel.Parameters).Opacity, RelativeSource={RelativeSource Self}}" />
                                    <Setter Property="Panel.ZIndex" Value="{Binding Path=(dxca:CarouselPanel.Parameters).ZIndex, Converter={local:DoubleToIntConverter},RelativeSource={RelativeSource Self}}" />
                                    <Setter Property="RenderTransform">
                                        <Setter.Value>
                                            <TransformGroup>
                                                <ScaleTransform ScaleX="{Binding Path=(dxca:CarouselPanel.Parameters).Scale, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type FrameworkElement}}}"
							                    ScaleY="{Binding Path=(dxca:CarouselPanel.Parameters).Scale, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type FrameworkElement}}}"
						                    />
                                                <RotateTransform Angle="{Binding Path=(dxca:CarouselPanel.Parameters).Angle, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type FrameworkElement}}}"
						                    />
                                                <TranslateTransform X="{Binding Path=(dxca:CarouselPanel.Parameters).OffsetX, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type FrameworkElement}}}" 
							                    Y="{Binding Path=(dxca:CarouselPanel.Parameters).OffsetY, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type FrameworkElement}}}" 
						                    />
                                            </TransformGroup>
                                        </Setter.Value>
                                    </Setter>
                                </Style>
                            </ItemsControl.ItemContainerStyle>
                            <ItemsControl.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <dxca:CarouselPanel 
                                        RenderOptions.BitmapScalingMode="HighQuality"
                                        Style="{DynamicResource carouselStyle}"
                                        ItemSize="100,100"
                                        PathVisible="False"
                                        AttractorPointIndex="3"
                                        AnimationTime="500"
                                        IsAutoSizeItem="True"
                                        IsRepeat="False"
                                        OffsetAnimationAddFunction="{StaticResource {ComponentResourceKey TypeInTargetAssembly={x:Type dxca:CarouselPanel}, ResourceId=InvertedSine}}"
                                        ParameterSet="{DynamicResource parameterSet}"
                                        Focusable="False"
                                    >
                                        <dxca:CarouselPanel.PointPathFunction>
                                            <dxca:PieceLinearFunction>
                                                <dxca:PieceLinearFunction.Points>
                                                    <dxca:PointCollection>
                                                        <Point X="0" Y="0" />
                                                        <Point X="55" Y="0" />
                                                        <Point X="110" Y="0" />
                                                        <Point X="230" Y="0" />
                                                        <Point X="350" Y="0" />
                                                        <Point X="405" Y="0" />
                                                        <Point X="460" Y="0" />
                                                    </dxca:PointCollection>
                                                </dxca:PieceLinearFunction.Points>
                                            </dxca:PieceLinearFunction>
                                        </dxca:CarouselPanel.PointPathFunction>
                                        <dxca:CarouselPanel.ItemMovingPath>
                                            <PathGeometry Figures="M0,0 100,0" />
                                        </dxca:CarouselPanel.ItemMovingPath>
                                    </dxca:CarouselPanel>
                                </ItemsPanelTemplate>
                            </ItemsControl.ItemsPanel>
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <Viewport3D Name="viewport3D">
                                        <Viewport3D.Camera>
                                            <PerspectiveCamera Position="0, 1, 6" />
                                        </Viewport3D.Camera>
                                        <Viewport2DVisual3D>
                                            <Viewport2DVisual3D.Visual>
                                                <StackPanel Orientation="Vertical" Background="Black">
                                                    <Border Name="item" Width="256" Height="256" HorizontalAlignment="Center" Background="#FF000000" Padding="1,1,1,1" SnapsToDevicePixels="True">
                                                        <Image HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding}" Stretch="UniformToFill" />
                                                    </Border>
                                                    <Rectangle Height="256" RenderOptions.CachingHint="Cache">
                                                        <Rectangle.Fill>
                                                            <VisualBrush Visual="{Binding ElementName=item}" />
                                                        </Rectangle.Fill>
                                                        <Rectangle.LayoutTransform>
                                                            <ScaleTransform ScaleY="-1" />
                                                        </Rectangle.LayoutTransform>
                                                        <Rectangle.OpacityMask>
                                                            <LinearGradientBrush EndPoint="0,1">
                                                                <GradientStop Offset="0.5" Color="Transparent" />
                                                                <GradientStop Offset="1" Color="#5A000000" />
                                                            </LinearGradientBrush>
                                                        </Rectangle.OpacityMask>
                                                    </Rectangle>
                                                </StackPanel>
                                            </Viewport2DVisual3D.Visual>
                                            <Viewport2DVisual3D.Transform>
                                                <RotateTransform3D>
                                                    <RotateTransform3D.Rotation>
                                                        <AxisAngleRotation3D Angle="{Binding Path=(dxca:CarouselPanel.Parameters).Angle3d, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ContentControl}}}" Axis="0, 1, 0" />
                                                    </RotateTransform3D.Rotation>
                                                </RotateTransform3D>
                                            </Viewport2DVisual3D.Transform>
                                            <Viewport2DVisual3D.Geometry>
                                                <MeshGeometry3D Positions="-1,2,0 -1,-2,0 1,-2,0 1,2,0"
                                        TextureCoordinates="0,0 0,1 1,1 1,0" 
                                        TriangleIndices="0 1 2 0 2 3"
                                    />
                                            </Viewport2DVisual3D.Geometry>
                                            <Viewport2DVisual3D.Material>
                                                <DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" />
                                            </Viewport2DVisual3D.Material>
                                        </Viewport2DVisual3D>
                                        <ModelVisual3D>
                                            <ModelVisual3D.Content>
                                                <DirectionalLight Color="#FFFFFFFF" Direction="0,0,-1" />
                                            </ModelVisual3D.Content>
                                        </ModelVisual3D>
                                    </Viewport3D>
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                        </dxca:CarouselItemsControl>
                    </Grid>
                </Grid>
            </Border>
            <Border Grid.Row="1" SnapsToDevicePixels="True" BorderBrush="#FF7B8097" BorderThickness="0,1,0,0">
                <Border.Background>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF5A5E71" Offset="0" />
                        <GradientStop Color="#FF54586B" Offset="1" />
                        <GradientStop Color="#FF535669" Offset="0.5" />
                        <GradientStop Color="#FF4E5163" Offset="0.5" />
                    </LinearGradientBrush>
                </Border.Background>
                <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
                    <Border Opacity="0.5" Padding="1" CornerRadius="4" Background="#FF191a21" BorderThickness="0,0,0,1" BorderBrush="#FF7b8097">
                        <Border CornerRadius="3" Background="#FF282a32" />
                    </Border>
                    <dxca:CarouselNavigator Carousel="{Binding ElementName=carouselItemsControl, Path=Carousel}" Margin="8" Width="300" Height="24" />
                </Grid>
            </Border>
        </Grid>
    </dxdb:DemoModuleControl>
</local:CarouselDemoModule>