2011-10-25 141 views
2

我對wpf很新。我如何從java實現CardLayout功能?我有一個窗口,我需要根據用戶操作完全切換內容,如選項卡窗格中的不同選項卡。wpf卡布局

+0

您能否提供樣品? – Fischermaen

+0

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

+0

我不是一個java開發人員 - 只是一個簡單的截圖,顯示你想要的設計就足夠了。 – Fischermaen

回答

3

您可以創建多個頁面並將它們放置在一個框架中。 查看here瞭解更多信息。

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> 

代碼背後:

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

它可以與獨立應用程序一起工作嗎? –

+0

示例代碼以您想要的方式工作。 – fardjad

+1

我知道它已經很老了,但在'CardLayout WPF'中首次出現在Google中:還有'TabControl',它真的非常有用(至少對我而言)。 – mwilczynski

0

的文章鏈接,幫助我找到一個解決方案,以創造一個卡片式的佈局是:WPF Visibility of a UI element based on combo selection

這是一個在 - XAML解決方案,您只需使用組合框來控制屏幕上顯示的控件的可見性。我不能說這是最佳實踐,因爲我是一個業餘愛好者,但它對我簡單的桌面應用程序非常有用。

+0

很好的努力,但問題是五歲。 – Ouroborus