2009-12-10 37 views

回答

3

聽起來像一個有趣的項目工作!我不知道現有的WPF控件。

當您輕彈時,您是否想模仿菜單的慣性?如果沒有,那麼似乎可以使用列表框,其中listitem只是您的文本+網格中的圖像。當您單擊列表項目時,然後啓動一個故事板動畫以使另一個列表框轉化爲左側。提前

<Window.Resources> 
    <Storyboard x:Key="OnSelected1"> 
     <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="next_menu" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)"> 
      <SplineDoubleKeyFrame KeyTime="00:00:01" Value="-309"/> 
     </DoubleAnimationUsingKeyFrames> 
    </Storyboard> 
</Window.Resources> 
<Window.Triggers> 
    <EventTrigger RoutedEvent="Selector.Selected" SourceName="listBoxItem"> 
     <BeginStoryboard Storyboard="{StaticResource OnSelected1}"/> 
    </EventTrigger> 
</Window.Triggers> 
<Grid x:Name="LayoutRoot"> 
    <ListBox x:Name="main_menu" HorizontalAlignment="Left" Margin="8,8,0,8" Width="296"> 
     <ListBoxItem x:Name="listBoxItem" Content="ListBoxItem"/> 
     <ListBoxItem Content="ListBoxItem"/> 
     <ListBoxItem Content="ListBoxItem"/> 
    </ListBox> 
    <ListBox x:Name="next_menu" HorizontalAlignment="Right" Margin="0,8,-302,8" Width="298" RenderTransformOrigin="0.5,0.5"> 
     <ListBox.RenderTransform> 
      <TransformGroup> 
       <ScaleTransform/> 
       <SkewTransform/> 
       <RotateTransform/> 
       <TranslateTransform/> 
      </TransformGroup> 
     </ListBox.RenderTransform> 
     <ListBoxItem Content="ListBoxItem"/> 
     <ListBoxItem Content="ListBoxItem"/> 
     <ListBoxItem Content="ListBoxItem"/> 
     <ListBoxItem Content="ListBoxItem"/> 
     <ListBoxItem Content="ListBoxItem"/> 
     <ListBoxItem Content="ListBoxItem"/> 
     <ListBoxItem Content="ListBoxItem"/> 
    </ListBox> 
</Grid> 

我的道歉,如果這不是你真正尋找:我有點模擬一個非常簡單的版本,沒有任何剪裁這裏,在Blend。

+0

感謝您的回答,我會看看如何使用您的代碼在我自己的代碼上構建它 – karlipoppins 2009-12-10 10:51:52

+0

嗯,希望至少有一些方面可以讓您朝着正確的方向發展。 :) 讓我們知道怎麼回事! – Dave 2009-12-10 15:15:25