view SSRS/SSRS/MainPage.xaml @ 115:4de4e7829319

Working code, need to tidy up layout
author stevenh7776
date Sun, 20 May 2012 15:50:37 +0100
parents b9d5f934cb21
children d3380f499575
line wrap: on
line source

<UserControl x:Class="SSRS.MainPage"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:c="clr-namespace:SSRS.Controls"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
             xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
             Width="938"
             Height="548"
             mc:Ignorable="d">

    <Grid x:Name="LayoutRoot"
          Width="940"
          Height="550"
          Background="White">
        <i:Interaction.Triggers>
            <i:EventTrigger>
                <ei:GoToStateAction StateName="Page1" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="VisualStateGroup">
                <VisualStateGroup.Transitions>
                    <VisualTransition GeneratedDuration="0:0:0.4">
                        <VisualTransition.GeneratedEasingFunction>
                            <CircleEase EasingMode="EaseOut" />
                        </VisualTransition.GeneratedEasingFunction>
                    </VisualTransition>
                    <VisualTransition From="Page2"
                                      GeneratedDuration="0"
                                      To="Page1">
                        <Storyboard />
                    </VisualTransition>
                </VisualStateGroup.Transitions>
                <VisualState x:Name="Page2">
                    <Storyboard>
                        <DoubleAnimation d:IsOptimized="True"
                                         Duration="0"
                                         Storyboard.TargetName="BackButton"
                                         Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
                                         To="-3" />
                        <DoubleAnimation d:IsOptimized="True"
                                         Duration="0"
                                         Storyboard.TargetName="BackButton"
                                         Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)"
                                         To="91.5" />
                        <DoubleAnimation d:IsOptimized="True"
                                         Duration="0"
                                         Storyboard.TargetName="Page2_Content"
                                         Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)"
                                         To="487.5" />
                        <DoubleAnimation d:IsOptimized="True"
                                         Duration="0"
                                         Storyboard.TargetName="SideMenu"
                                         Storyboard.TargetProperty="(UIElement.Opacity)"
                                         To="0" />
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="Page1">
                    <Storyboard>
                        <DoubleAnimation d:IsOptimized="True"
                                         Duration="0:0:0.3"
                                         Storyboard.TargetName="SideMenu"
                                         Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationY)"
                                         To="0">
                            <DoubleAnimation.EasingFunction>
                                <CircleEase EasingMode="EaseOut" />
                            </DoubleAnimation.EasingFunction>
                        </DoubleAnimation>
                        <DoubleAnimation d:IsOptimized="True"
                                         Duration="0:0:0.3"
                                         Storyboard.TargetName="Page1_Content"
                                         Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
                                         To="-664.5">
                            <DoubleAnimation.EasingFunction>
                                <CircleEase EasingMode="EaseOut" />
                            </DoubleAnimation.EasingFunction>
                        </DoubleAnimation>
                        <DoubleAnimation d:IsOptimized="True"
                                         Duration="0:0:0.7"
                                         Storyboard.TargetName="HeaderText"
                                         Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
                                         To="-426">
                            <DoubleAnimation.EasingFunction>
                                <CircleEase EasingMode="EaseOut" />
                            </DoubleAnimation.EasingFunction>
                        </DoubleAnimation>
                        <DoubleAnimation d:IsOptimized="True"
                                         Duration="0:0:0.9"
                                         Storyboard.TargetName="HeaderSubText"
                                         Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
                                         To="-427.5">
                            <DoubleAnimation.EasingFunction>
                                <CircleEase EasingMode="EaseOut" />
                            </DoubleAnimation.EasingFunction>
                        </DoubleAnimation>
                        <DoubleAnimation d:IsOptimized="True"
                                         Duration="0:0:0.2"
                                         Storyboard.TargetName="Page2_Content"
                                         Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)"
                                         To="0">
                            <DoubleAnimation.EasingFunction>
                                <CircleEase EasingMode="EaseOut" />
                            </DoubleAnimation.EasingFunction>
                        </DoubleAnimation>
                    </Storyboard>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
        <Grid x:Name="SideMenu"
              Width="300"
              Margin="0,0,0,51"
              HorizontalAlignment="Left">
            <Grid.Projection>
                <PlaneProjection CenterOfRotationX="0" RotationY="-98" />
            </Grid.Projection>
            <toolkit:BusyIndicator Name="busyIndicator"
                                   HorizontalAlignment="Center"
                                   VerticalAlignment="Center"
                                   IsBusy="{Binding IsBusy}">

                <StackPanel Width="300" VerticalAlignment="Top">
                    <Rectangle Height="20"
                               VerticalAlignment="Top"
                               Fill="{StaticResource Highlight}" />

                    <ListBox x:Name="ReportsListbox"
                             Height="400"
                             ItemsSource="{Binding Reports}"
                             ScrollViewer.HorizontalScrollBarVisibility="Disabled"
                             SelectedItem="{Binding SelectedReport,
                                                    Mode=TwoWay}">
                        <ListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <toolkit:WrapPanel ItemHeight="100"
                                                   ItemWidth="100"
                                                   Orientation="Horizontal" />
                            </ItemsPanelTemplate>
                        </ListBox.ItemsPanel>
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <StackPanel Margin="10" HorizontalAlignment="Center">
                                    <Viewbox>
                                        <Grid x:Name="backgroundGrid"
                                              Width="80"
                                              Height="80">
                                            <Rectangle x:Name="Rect" Fill="Orange" />
                                            <sdk:Label HorizontalContentAlignment="Center"
                                                       Content="{Binding Name}"
                                                       FontFamily="Segoe UI"
                                                       FontSize="20"
                                                       Foreground="White" />
                                        </Grid>
                                    </Viewbox>
                                </StackPanel>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>

                    <Button x:Name="WhatsThis"
                            Width="100"
                            Height="40"
                            Margin="20"
                            HorizontalAlignment="Right"
                            VerticalAlignment="Bottom"
                            Style="{StaticResource TileIcon_Btn}"
                            Tag="What's This">
                        <i:Interaction.Triggers>
                            <i:EventTrigger EventName="Click">
                                <ei:GoToStateAction StateName="Page2" />
                            </i:EventTrigger>
                        </i:Interaction.Triggers>
                    </Button>
                </StackPanel>
            </toolkit:BusyIndicator>
        </Grid>

        <TextBlock x:Name="HeaderText"
                   Width="309"
                   Height="119"
                   Margin="0,0,-408,0"
                   HorizontalAlignment="Right"
                   VerticalAlignment="Top"
                   FontSize="96"
                   Foreground="#FF545454"
                   RenderTransformOrigin="0.5,0.5"
                   Style="{StaticResource TextBlockStyle1}"
                   Text="Reports "
                   TextWrapping="Wrap">
            <TextBlock.RenderTransform>
                <CompositeTransform />
            </TextBlock.RenderTransform>
        </TextBlock>
        <TextBlock x:Name="HeaderSubText"
                   Width="300"
                   Height="32"
                   Margin="0,130,-402,0"
                   HorizontalAlignment="Right"
                   VerticalAlignment="Top"
                   FontSize="16"
                   Foreground="{StaticResource DarkGray}"
                   RenderTransformOrigin="0.5,0.5"
                   Text="{Binding Path=SelectedReport.Name}"
                   TextWrapping="Wrap">
            <TextBlock.RenderTransform>
                <CompositeTransform />
            </TextBlock.RenderTransform>
        </TextBlock>
        <Grid x:Name="Page1_Content"
              Width="610"
              Margin="0,13,-634,72"
              HorizontalAlignment="Right"
              RenderTransformOrigin="0.5,0.5">
            <Grid.RenderTransform>
                <CompositeTransform />
            </Grid.RenderTransform>
            <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                <ComboBox x:Name="FileExportTypesCombo"
                          ItemsSource="{Binding ExportFileTypes}"
                          SelectedItem="{Binding SelectedExportFileTypes}" />

                <ItemsControl BorderThickness="0" ItemsSource="{Binding Fields}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition MinWidth="100" />
                                    <ColumnDefinition Width="*" />
                                </Grid.ColumnDefinitions>
                                <TextBlock VerticalAlignment="Center" Text="{Binding Caption}" />
                                <c:FormFieldTemplateSelector Grid.Column="1"
                                                             Margin="0,2,0,2"
                                                             DataType="{Binding Type}">
                                    <c:FormFieldTemplateSelector.DataTemplates>
                                        <c:TemplateSelectorDataTemplate DataType="System.String">
                                            <TextBox Width="100" Text="{Binding Value, Mode=TwoWay}" />
                                        </c:TemplateSelectorDataTemplate>
                                        <c:TemplateSelectorDataTemplate DataType="System.DateTime">
                                            <sdk:DatePicker Width="100" SelectedDate="{Binding Value, Mode=TwoWay}" />
                                        </c:TemplateSelectorDataTemplate>
                                        <c:TemplateSelectorDataTemplate DataType="System.Boolean">
                                            <CheckBox IsChecked="{Binding Value, Mode=TwoWay}" />
                                        </c:TemplateSelectorDataTemplate>
                                    </c:FormFieldTemplateSelector.DataTemplates>
                                </c:FormFieldTemplateSelector>
                            </Grid>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
                <Button x:Name="SmallButton"
                        Width="100"
                        Height="40"
                        Margin="0,0,0,92"
                        HorizontalAlignment="Right"
                        VerticalAlignment="Bottom"
                        Content="Submit"
                        Style="{StaticResource SmallTile_Btn}" />
            </StackPanel>

        </Grid>
        <Grid x:Name="Footer"
              Height="51"
              VerticalAlignment="Bottom">
            <Rectangle x:Name="BackgroundRectangle" Fill="{StaticResource DarkGray}" />
            <TextBlock Width="698"
                       Margin="0,16,16,13"
                       HorizontalAlignment="Right"
                       FontSize="16"
                       Foreground="Red"
                       Style="{StaticResource TextBlockStyle1}"
                       Text="{Binding ErrorText}"
                       TextAlignment="Right"
                       TextWrapping="Wrap"
                       d:LayoutOverrides="Height" />
            <StackPanel x:Name="FooterLinksStack"
                        Width="168"
                        Margin="10,0,0,0"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        Orientation="Horizontal">
                <HyperlinkButton Margin="20,0,0,0"
                                 VerticalAlignment="Center"
                                 Content="stevenhollidge.com"
                                 NavigateUri="http://www.stevenhollidge.com"
                                 Style="{StaticResource HyperlinkButtonStyle1}" />
            </StackPanel>
        </Grid>
        <Button x:Name="BackButton"
                Width="87"
                Height="87"
                Margin="-9,-103,0,0"
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                Content="Back"
                Opacity="0.995"
                RenderTransformOrigin="0.5,0.5"
                Style="{StaticResource backbtn}">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="Click">
                    <ei:GoToStateAction StateName="Page1" />
                </i:EventTrigger>
            </i:Interaction.Triggers>
            <Button.RenderTransform>
                <CompositeTransform />
            </Button.RenderTransform>
        </Button>
        <Grid x:Name="Page2_Content"
              Height="371"
              Margin="49,-405,34,0"
              VerticalAlignment="Top"
              RenderTransformOrigin="0.5,0.5">
            <Grid.RenderTransform>
                <CompositeTransform />
            </Grid.RenderTransform>
            <TextBlock Width="524"
                       Margin="333,140,0,0"
                       HorizontalAlignment="Left"
                       FontSize="16"
                       Foreground="{StaticResource DarkGray}"
                       Style="{StaticResource TextBlockStyle1}"
                       TextWrapping="Wrap"><Run Text="Quick demo for accessing SSRS reports from Silverlight." />
                <LineBreak /><Run />
                <LineBreak /><Run Text="If anyone is interested get in contact with me via my blog." />
                <LineBreak /><Run />
                <LineBreak /><Run Text="Happy coding!" />
                <LineBreak /><Run />
                <LineBreak /><Run Text="Steve" />
            </TextBlock>
            <TextBlock Width="309"
                       Height="119"
                       HorizontalAlignment="Left"
                       VerticalAlignment="Top"
                       FontSize="96"
                       Foreground="#FF545454"
                       Text="About"
                       TextWrapping="Wrap" />
            <StackPanel x:Name="LinksStack"
                        Width="300"
                        Margin="0,138,0,158"
                        HorizontalAlignment="Left"
                        Orientation="Vertical">
                <Button x:Name="HomePageLink"
                        Height="30"
                        Margin="0,0,0,10"
                        Content="stevenhollidge.com"
                        Style="{StaticResource TextArrow_Btn}">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="Click">
                            <ei:HyperlinkAction NavigateUri="http://www.stevenhollidge.com" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </Button>
                <Button x:Name="BlogLink"
                        Width="300"
                        Height="30"
                        Margin="0,0,0,10"
                        Content="stevenhollidge.blogspot.com"
                        Style="{StaticResource TextArrow_Btn}">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="Click">
                            <ei:HyperlinkAction NavigateUri="http://stevenhollidge.blogspot.com" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </Button>
            </StackPanel>
        </Grid>

    </Grid>
</UserControl>