基本信息
源码名称:WPF很炫的几何图形 实例源码下载
源码大小:0.32M
文件格式:.zip
开发语言:C#
更新时间:2013-10-03
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

左侧导航移动上去有滑动效果(不错),右侧弹出效果更炫,下载即可使用

<!--
// Copyright © Microsoft Corporation.  All Rights Reserved.
// This code released under the terms of the 
// Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)    
-->
<Page x:Class="GeometrySample.SampleViewer"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        WindowTitle="Geometries Sample"
        Loaded="pageLoaded">

  <Page.Resources>


    <Storyboard x:Key="ZoomInStoryboard"
      Completed="zoomInStoryboardCompleted">
      <DoubleAnimation Storyboard.TargetName="MyHorizontalAxisAngleRotation3D"
        Storyboard.TargetProperty="Angle"
        From="360" To="0" Duration="0:0:1"  AutoReverse="False" FillBehavior="Stop"
        BeginTime="0:0:0" DecelerationRatio="1"
            />
      <DoubleAnimation Storyboard.TargetName="MyScaleTransform3D"
        Storyboard.TargetProperty="ScaleX"
        From="0" To="1" Duration="0:0:2"  AutoReverse="False" DecelerationRatio="1"
            />
      <DoubleAnimation Storyboard.TargetName="MyScaleTransform3D"
        Storyboard.TargetProperty="ScaleY"
        From="0" To="1" Duration="0:0:2"  AutoReverse="False" DecelerationRatio="1"
            />
      <DoubleAnimation Storyboard.TargetName="MyScaleTransform3D"
        Storyboard.TargetProperty="ScaleZ"
        From="0" To="1" Duration="0:0:2"  AutoReverse="False" DecelerationRatio="1"
            />
    </Storyboard>

  </Page.Resources>

  <Page.Triggers>
    <EventTrigger RoutedEvent="RadioButton.Checked">
      <BeginStoryboard>
        <Storyboard Completed="zoomOutStoryboardCompleted">
          <DoubleAnimation Storyboard.TargetName="MyHorizontalAxisAngleRotation3D"
            Storyboard.TargetProperty="Angle"
            From="0" To="360" Duration="0:0:1"  AutoReverse="False" FillBehavior="Stop"
            BeginTime="0:0:1" AccelerationRatio="1"
            />
          <DoubleAnimation Storyboard.TargetName="MyScaleTransform3D"
            Storyboard.TargetProperty="ScaleX"
            From="1" To="0" Duration="0:0:2"  AutoReverse="False" AccelerationRatio="1"
            />
          <DoubleAnimation Storyboard.TargetName="MyScaleTransform3D"
            Storyboard.TargetProperty="ScaleY"
            From="1" To="0" Duration="0:0:2"  AutoReverse="False" AccelerationRatio="1"
            />
          <DoubleAnimation Storyboard.TargetName="MyScaleTransform3D"
            Storyboard.TargetProperty="ScaleZ"
            From="1" To="0.1" Duration="0:0:2"  AutoReverse="False" AccelerationRatio="1"
            />
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </Page.Triggers>

  <DockPanel>

    <Border DockPanel.Dock="Left" Background="{StaticResource MyBlueGridBrushResource}">


      <StackPanel VerticalAlignment="Stretch" Margin="10">
        <RadioButton x:Name="Example1RadioButton" Checked="sampleSelected" Margin="0,0,0,10">Geometry Usage</RadioButton>
        <RadioButton Checked="sampleSelected" Margin="0,0,0,10">Shape Geometries</RadioButton>
        <RadioButton Checked="sampleSelected" Margin="0,0,0,10">PathGeometry</RadioButton>
        <RadioButton Checked="sampleSelected" Margin="0,0,0,10">Geometry Attribute Syntax Example</RadioButton>
        <RadioButton Checked="sampleSelected">Combining Geometries Example</RadioButton>
      </StackPanel>
    </Border>

    <Grid Background="Black">
    
    
      <Rectangle Fill="{StaticResource BlackBackgroundGridBrushResource}">
        <Rectangle.OpacityMask>
          <RadialGradientBrush>
            <GradientStop Offset="0.0" Color="#FF000000" />
            <GradientStop Offset="1.0" Color="#00000000" />
          </RadialGradientBrush>
        </Rectangle.OpacityMask>
      </Rectangle>
      




      <Border>

        <Border ClipToBounds="True">
          <Viewbox 
            Stretch="Fill"
            Width="{Binding ElementName=myScrollViewer, Path=ActualWidth}"
            Height="{Binding ElementName=myScrollViewer, Path=ActualHeight}">
            <Viewport3D 
              Name="myViewport3D"
              Opacity="1" IsHitTestVisible="False">
              <Viewport3D.Camera>
                <PerspectiveCamera 
                  LookDirection="0,0,-2" 
                  UpDirection="0,1,0"  
                  Position="0,0,5" 
                  FieldOfView="90"/>
              </Viewport3D.Camera>
              <ModelVisual3D>

                <ModelVisual3D.Children>
                  <ModelVisual3D>
                    <ModelVisual3D.Content>
                      <AmbientLight Color="#FFFFFFFF" />
                    </ModelVisual3D.Content>
                  </ModelVisual3D>
                  <ModelVisual3D>
                    <ModelVisual3D.Children>
                      <ModelVisual3D>
                        <ModelVisual3D.Content>
                          <GeometryModel3D x:Name="myPlane">
                            <GeometryModel3D.Geometry>
                              <MeshGeometry3D 
                                x:Name="myGeometry"
                                TriangleIndices="0,1,2 3,4,5, 11,10,9,8,7,6"                           
                                TextureCoordinates="0,0 0,-1 -1,-1 -1,-1 -1,0 0,0   -1,-1 -1,0 0,0 0,0 0,-1 -1,-1  "
                                Positions="12,-9,0 12,9,0 -12,9,0 -12,9,0 -12,-9,0 12,-9,0" />
                            </GeometryModel3D.Geometry>
                            <GeometryModel3D.Material>
                              <DiffuseMaterial>
                                <DiffuseMaterial.Brush>
                                  <VisualBrush 
                                    RenderOptions.CacheInvalidationThresholdMinimum="0"
                                    RenderOptions.CachingHint="Cache"
                                    Visual="{Binding ElementName=myScrollViewer}" />
                                </DiffuseMaterial.Brush>
                              </DiffuseMaterial>
                            </GeometryModel3D.Material>
                          </GeometryModel3D>
                        </ModelVisual3D.Content>
                        <ModelVisual3D.Transform>
                          <Transform3DGroup>
                            <RotateTransform3D x:Name="myHorizontalRotation"
                              CenterX="0" CenterY="0" CenterZ="0">
                              <RotateTransform3D.Rotation>
                                <AxisAngleRotation3D Axis="0,1,0" Angle="0"
                                 x:Name="MyHorizontalAxisAngleRotation3D" />
                              </RotateTransform3D.Rotation>
                            </RotateTransform3D>
                            <ScaleTransform3D x:Name="MyScaleTransform3D" 
                              ScaleX="1" ScaleY="1" ScaleZ="1" />
                          </Transform3DGroup>
                        </ModelVisual3D.Transform>
                      </ModelVisual3D>
                    </ModelVisual3D.Children>
                  </ModelVisual3D>
                </ModelVisual3D.Children>
              </ModelVisual3D>
            </Viewport3D>
          </Viewbox>
        </Border>
      </Border>
      <Border Name="scrollViewerBorder">
        <ScrollViewer Name="myScrollViewer" Background="White"
          HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
          HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
          <Frame Name="mainFrame" Background="White" ContentRendered="frameContentRendered"
            NavigationUIVisibility="Hidden">
            <Frame.RenderTransform>
              <ScaleTransform />
            </Frame.RenderTransform>
          </Frame>
        </ScrollViewer>
      </Border>


    </Grid>

  </DockPanel>

</Page>