2013-04-13 9 views
6

Sono nuovo in Windows Phone 7 sviluppo cercando di creare lato barra dei menu come Facebookwindows phone creare lato barra dei menu come facebook

devo creare un UserControl e mettere alcuni pulsanti per diversi retini e anche cassa PhoneApplicationPage e mettere pulsante che quando cliccherò su quel pulsante cercherò di venire dall'alto in alto come nella barra dei menu.

mostra a destra e se ancora una volta fare clic su quel pulsante in alto a destra si vuole nascondere se qualcuno ha idea di che il codice si prega di condividere o esempi

Grazie.

risposta

0

Beh, non c'è un modo semplice per farlo come iOS. Ma puoi usare Visual State Manager.

Fondamentalmente, forma uno schermo più grande del tuo stage. Quindi, è necessario creare uno stato in grado di spostare leggermente lo schermo sul palco e utilizzare un pulsante. Devi chiamare lo stato sul pulsante su metodo click.

PS: non utilizzare lo storyboard. Usa gli Stati è il modo più semplice per farlo.

9

Ho appena scritto una soluzione completa per questo ... e in effetti avete bisogno degli stati visivi! http://depblog.weblogs.us/2013/07/22/facebook-like-settings-pane-windows-phone/

+2

Si noti che le risposte di solo collegamento sono scoraggiate, pertanto le risposte dovrebbero essere il punto finale di una ricerca di una soluzione (rispetto a un'altra sosta di riferimenti, che tende a diventare obsoleta nel tempo). Si prega di considerare l'aggiunta di una sinossi autonoma qui, mantenendo il collegamento come riferimento. – kleopatra

+1

kleopatra ... true, ma la soluzione totale è troppo grande come risposta in StackO.Nel complesso l'idea è stata già data affermando di utilizzare Visual State Manager, sto solo indicando un progetto scaricabile funzionante. – Depechie

+0

@Depechie Va bene collegarsi alla soluzione completa sul tuo blog, ma almeno includere abbastanza informazioni qui in modo che anche se il tuo blog se ne andasse domani, sarebbe comunque una risposta utile. –

1

Partenza SlideView, descritto come "... cassetto navigazione ispirato dalla app Facebook ufficiale di Windows Phone." https://slideview.codeplex.com/

Modifica Una volta installato SlideView attraverso Nuget di install-pacchetto SlideView

Creare un controllo utente che rappresenterà lo SlideView si desidera, dicono LeftView.xaml. È possibile creare un altro controllo utente per l'altro lato, dire RightView.xaml

Poi nel file App.xaml, definire la SlideView come una risorsa,

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> 

Una volta fatta la Mostra le App.xaml.cs per cambiare il RootFrame predefinito e tH 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(); 
    } 
} 

Questo dovrebbe funzionare .. Basta aggiungere contenuti al Rightview.xaml e LeftView.xaml. Per alcuni motivi il mio WindowsPhone 8.1 xaml si è arrestato in modo anomalo quando l'ho avviato. Ma tutto ha funzionato quando ho usato lo Zumicts Forcella di SlideView, che è disponibile come pacchetto NuGet qui

Install-Package SlideView.Library.WP81.Zumicts 

Qualcuno ha avuto lo stesso problema?