側菜單欄我在Windows Phone 7的發展是新嘗試創建像Facebook的Windows Phone創建像Facebook
我已創建一個用戶控件,並把一些按鈕,用於不同屏幕 也箱的PhoneApplicationPage,把側菜單欄按鈕,當我點擊那個按鈕時,試着從菜單欄的右上角來。
顯示在右邊,如果再點擊右上角的按鈕,它想隱藏 如果任何一個有關於請共享代碼或例子
謝謝你的想法。
側菜單欄我在Windows Phone 7的發展是新嘗試創建像Facebook的Windows Phone創建像Facebook
我已創建一個用戶控件,並把一些按鈕,用於不同屏幕 也箱的PhoneApplicationPage,把側菜單欄按鈕,當我點擊那個按鈕時,試着從菜單欄的右上角來。
顯示在右邊,如果再點擊右上角的按鈕,它想隱藏 如果任何一個有關於請共享代碼或例子
謝謝你的想法。
那麼有沒有一種簡單的方法來做到像iOS一樣。但是你可以使用Visual State Manager。
基本上,形成一個比你的舞臺更大的屏幕。然後,您需要創建一個狀態,將您的屏幕稍稍移動到舞臺上,然後您可以使用按鈕。你需要在按鈕的點擊方法上調用狀態。 PS:不要使用情節串連圖板。使用狀態是最簡單的方法。
我剛剛爲此寫了一個完整的解決方案......並且確實需要視覺狀態! http://depblog.weblogs.us/2013/07/22/facebook-like-settings-pane-windows-phone/
退房SlideView
,描述爲 「通過在Windows Phone官方的Facebook應用程序的啓發......導航抽屜裏。」 https://slideview.codeplex.com/
編輯 一旦你已經通過的NuGet的安裝包SlideView
創建一個用戶控件,將代表你想要的SlideView安裝SlideView,說LeftView.xaml。您可以創建另一側的另一用戶控件,在你App.xaml文件說RightView.xaml
然後,定義SlideView作爲一種資源,
xmlns:slideView="using:SlideView.Library"
xmlns:views="using:SideNav.Views"
xmlns:local="using:SideNav">
<Application.Resources>
<slideView:SlideApplicationFrame Header="SlideView" Background="White" x:Key="RootFrame" >
<slideView:SlideApplicationFrame.LeftContent>
<views:LeftView/>
</slideView:SlideApplicationFrame.LeftContent>
<slideView:SlideApplicationFrame.RightContent>
<views:RightView/>
</slideView:SlideApplicationFrame.RightContent>
</slideView:SlideApplicationFrame>
</Application.Resources>
一旦完成編輯您的App.xaml.cs更改默認RootFrame和日OnLaunchedMethod
public sealed partial class App : Application
{
private TransitionCollection transitions;
public static SlideApplicationFrame RootFrame { get; private set; }
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
RootFrame = Window.Current.Content as SlideApplicationFrame;
// Do not repeat app initialization when the Window already has content,
// just ensure that the window is active
if (RootFrame == null)
{
// Create a Frame to act as the navigation context and navigate to the first page
RootFrame = this.Resources["RootFrame"] as SlideApplicationFrame;
// TODO: change this value to a cache size that is appropriate for your application
RootFrame.CacheSize = 1;
// Set the default language
RootFrame.Language = Windows.Globalization.ApplicationLanguages.Languages[0];
if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
// TODO: Load state from previously suspended application
}
// Place the frame in the current Window
Window.Current.Content = RootFrame;
}
if (RootFrame.Content == null)
{
// Removes the turnstile navigation for startup.
if (RootFrame.ContentTransitions != null)
{
this.transitions = new TransitionCollection();
foreach (var c in RootFrame.ContentTransitions)
{
this.transitions.Add(c);
}
}
RootFrame.ContentTransitions = null;
RootFrame.Navigated += this.RootFrame_FirstNavigated;
// When the navigation stack isn't restored navigate to the first page,
// configuring the new page by passing required information as a navigation
// parameter
if (!RootFrame.Navigate(typeof(MainPage), e.Arguments))
{
throw new Exception("Failed to create initial page");
}
}
// Ensure the current window is active
Window.Current.Activate();
}
}
這應該工作..只要將內容添加到Rightview.xaml和LeftView.xaml。 由於某些原因,我的WindowsPhone 8.1 xaml在啓動時崩潰了。但是,一切都工作時,我使用的SlideView的Zumicts叉是可以作爲這裏NuGet包
Install-Package SlideView.Library.WP81.Zumicts
任何人都經歷了同樣的問題?
請注意,只有鏈接的答案是不鼓勵的,所以答案應該是搜索解決方案的終點(而另一個引用的中途停留時間往往會過時)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra
kleopatra ...是真的,但總體的解決方案是在StackO中作爲響應。總的來說,這個想法已經通過聲明使用Visual State Manager來給出,我只是指向一個可以下載的工程。 – Depechie
@Depechie鏈接到博客上的完整解決方案很好,但至少在這裏包含足夠的信息,以便即使您的博客明天消失,它仍然是一個有用的答案。 –