2016-01-27 37 views
1

我不知道所有的技術術語,但我會盡力用最好的方式解釋我的問題。WPF - 如何根據組合框的SelectedIndex顯示不同的控件

我的程序由定義變量的Main Window組成。我想用ComboBox與四個ComboBoxItem s。對於每個ComboBoxItem,我想要在ComboBox下打開一個新節,在本節中,輸入將繼續獲得我想要的最後一個值。有關信息,只有一個ComboBoxItem將被激活。

我已經嘗試了UserControl,在一個StackPanelComboBoxMain Window打開,但我想可能在本節進入行定義和列定義,我不能這樣做,在用戶控件窗口。

任何人都可以引導我請一個主題,我可以閱讀這種方法?

+0

您是否嘗試過使用[彈出](https://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup(V = vs.110)的.aspx)?您必須向下滾動頁面以查看該頁面上的xml代碼示例。你可以在其中放置一個包含任何其他用戶控件的網格。我不認爲它顯示爲wpf工具箱中的一個選項。 –

回答

1

讓我看看我是否正確...您想顯示一個不同的Content deppending其中ComboBoxItem用戶選擇?如果是這樣的話,你所要做的就是創建一個x頁數(其中x是不同選項的數量)和Frame下的ComboBox。在這些頁面中,您可以放入任何你想要的東西:從DataGrid到簡單的Label。然後,您所要做的就是將幀的Content設置爲這些頁面中的一個,根據SelectedIndex每次觸發事件。

下面是一個例子:

public void MyComboBox_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    switch(MyComboBox.SelectedIndex) 
    { 
     case 0: 
      MyFrame.Content = new MyPage1(); 
      break; 
     case 1: 
      MyFrame.Content = new MyPage2(); 
      break; 
    } 
} 
+0

它的工作方式,但當我例如在頁面中添加一個標籤和一個按鈕,當加載時,後退和前進按鈕顯示,如果你知道我的意思,它是一個文件瀏覽器? 我組織程序的第一部分的方式是使用RowDefinitions,所有標籤,文本框和組合框都位於這些行中。是否有可能在頁面中做到這一點? –

+0

你的意思是把行和列?當然!在頁面內使用網格並將行和列放在那裏 –

+0

感謝您的幫助,它現在可以工作! –

相關問題