2011-10-25 6 views
2

Je suis très nouveau à wpf. Comment puis-je implémenter la fonctionnalité CardLayout à partir de Java? J'ai une fenêtre où j'ai besoin de changer complètement le contenu en fonction des actions de l'utilisateur, comme différents onglets dans le volet à onglets.mise en page wpf

+0

Pourriez-vous s'il vous plaît fournir un échantillon? – Fischermaen

+0

@Fischermaen, http://download.oracle.com/javase/tutorialJWS/uiswing/layout/ex6/CardLayoutDemo.jnlp –

+0

Je ne suis pas un développeur java - juste une simple capture d'écran montrant le desing que vous voulez serait suffisant. – Fischermaen

Répondre

3

Vous pouvez créer plusieurs pages et les héberger dans un cadre. Regardez here pour plus d'informations.

XAML:

<Window x:Class="CardLayout" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="CardLayout" Height="300" Width="300"> 
    <Grid> 
     <Frame Height="200" HorizontalAlignment="Left" Margin="12,40,0,0" Name="frame1" VerticalAlignment="Top" Width="254" NavigationUIVisibility="Hidden" /> 

     <ComboBox HorizontalAlignment="Left" Margin="12,12,0,0" Name="comboBox1" VerticalAlignment="Top" Width="254" SelectedIndex="0" SelectionChanged="comboBox1_SelectionChanged"> 
      <ComboBoxItem>FirstPage</ComboBoxItem> 
      <ComboBoxItem>SecondPage</ComboBoxItem> 
     </ComboBox> 
    </Grid> 
</Window> 

code Derrière:

public partial class CardLayout : Window 
{ 
    private Page[] pages = new Page[] {new Page1(), new Page2()}; 

    public CardLayout() 
    { 
     InitializeComponent(); 
    } 

    private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     frame1.Content = pages[((ComboBox) sender).SelectedIndex]; 
    } 
} 
+0

fonctionne-t-il avec des applications autonomes? –

+0

L'exemple de code fonctionne comme vous le souhaitez. – fardjad

+1

Je sais que c'est vieux mais apparaît d'abord dans Google pour 'CardLayout WPF': il y a aussi 'TabControl' qui est vraiment, vraiment utile (du moins pour moi). – mwilczynski

0

Le lien de l'article qui m'a aidé à trouver une solution à créer une mise en page de style carte a été: WPF Visibility of a UI element based on combo selection

Il est un in- Solution XAML où vous utilisez simplement une zone de liste déroulante pour contrôler la visibilité des contrôles affichés à l'écran. Je ne peux pas dire que c'est une bonne pratique ou pas, comme je suis un amateur, mais cela a très bien fonctionné pour ma simple application de bureau.

+0

Bon effort, mais la question a cinq ans. – Ouroborus

Questions connexes