2011-09-15 60 views
2

我想顯示窗口,當用戶點擊一個按鈕,然後顯示他的下一個內容在同一個窗口。我也想做一個動畫。可能嗎?動畫並不重要。 我只想改變內容動態。我無法找到它...如何在wpf中做幻燈片放映。改變窗口內容,如幻燈片

請給我簡單的解決方案,沒有任何框架。

內容不僅是圖像。會有很多控件。

我使用WPF 的.NET Framework 4.0

回答

3

一種方式來處理這個沒有很大的開銷將是準備幻燈片,用戶控件的所有幻燈片,讓主窗口中有一個

<ContentPresenter x:Name="CurrentSlidePresenter" /> 

,並在按鈕單擊處理程序使用

UserControl currentSlide = GetCurrentSlide(); // implement this to your liking 
CurrentSlidePresenter.Content = currentSlide; 

此方法可以擴展爲使用FluidKit使用動畫。

1

簡單的解決方案是使用XamlReader類從項目中的xaml加載內容。

這裏是一個鏈接:從鏈路http://blogs.msdn.com/b/ashish/archive/2007/08/14/dynamically-loading-xaml.aspx

簡化的代碼:

public partial class Window1 : Window 
    { 
     public Window1() 
     { 
      InitializeComponent(); 
      LoadXAMLMethod(); 
     } 


     public void LoadXAMLMethod() 
     { 
      try 
      { 
       StreamReader mysr = new StreamReader("Page1.xaml"); 
       DependencyObject rootObject = XamlReader.Load(mysr.BaseStream) as DependencyObject; 

       this.Content = rootObject; 
      } 
      catch (FileNotFoundException ex) 
      { 
       MessageBox.Show(ex.Message.ToString());  
      } 
     } 
    } 
} 

P.S.迴避更可靠的方法,例如使用MVVM不是一件好事。如果您要經常解決這種UI操作任務,您應該考慮在某些時候熟悉MVVM。

0

簡而言之,您將不得不使用WPF中的StoryBoard和Trigger Animation技術。 Google針對「WPF窗口滑動動畫示例」。

Found this useful

0

您是否在尋找http://transitionals.codeplex.com/

「Transitionals是一個構建和使用WPF轉換的框架,它提供了一種以豐富和動畫方式在UI視圖之間切換的簡單方法。」