我想顯示窗口,當用戶點擊一個按鈕,然後顯示他的下一個內容在同一個窗口。我也想做一個動畫。可能嗎?動畫並不重要。 我只想改變內容動態。我無法找到它...如何在wpf中做幻燈片放映。改變窗口內容,如幻燈片
請給我簡單的解決方案,沒有任何框架。
內容不僅是圖像。會有很多控件。
我使用WPF 與的.NET Framework 4.0
我想顯示窗口,當用戶點擊一個按鈕,然後顯示他的下一個內容在同一個窗口。我也想做一個動畫。可能嗎?動畫並不重要。 我只想改變內容動態。我無法找到它...如何在wpf中做幻燈片放映。改變窗口內容,如幻燈片
請給我簡單的解決方案,沒有任何框架。
內容不僅是圖像。會有很多控件。
我使用WPF 與的.NET Framework 4.0
一種方式來處理這個沒有很大的開銷將是準備幻燈片,用戶控件的所有幻燈片,讓主窗口中有一個
<ContentPresenter x:Name="CurrentSlidePresenter" />
,並在按鈕單擊處理程序使用
UserControl currentSlide = GetCurrentSlide(); // implement this to your liking
CurrentSlidePresenter.Content = currentSlide;
。
此方法可以擴展爲使用FluidKit使用動畫。
簡單的解決方案是使用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。
簡而言之,您將不得不使用WPF中的StoryBoard和Trigger Animation技術。 Google針對「WPF窗口滑動動畫示例」。
您是否在尋找http://transitionals.codeplex.com/?
「Transitionals是一個構建和使用WPF轉換的框架,它提供了一種以豐富和動畫方式在UI視圖之間切換的簡單方法。」