2017-02-24 14 views
0

現在、ボタン、テキストボックス、およびその他の項目を含む7つのパネルがあります。各パネルは横長で、現在互いに積み重ねられており、すべてのパネルはスクロールビューアの内側にあり、表示されません。スクロールビューアの上には、7つの異なるパネルのそれぞれの名前を持つリストボックスがあり、1つが選択されると、そのパネルが表示されます。リストボックスからパネルを選択すると、そのパネルがスクロールビューアの上部に移動するような方法を見つけようとしています。私はアイテムのコントロールの例を見てきましたが、この場合、グループやパネルの複数のアイテムをコントロールする方法は述べていません。これは少し混乱している場合はごめんなさい、ご協力いただきありがとうございます。複数の項目を含むスタックパネルを並べ替えます - WPFおよびC#

+0

あなたはのviewmodelsを持っていますか? –

答えて

0

まず、どの主なコンテナパネルはScrollViewerで使用していますか?あなたが言ったように、7つのパネルが積み重ねられているので、StackPanelScrollViewerの内部にあると仮定しています。

Children collectionStackPanelを操作する必要があります。 例。

<ScrollViewer Margin="0,61,0,0"> 
      <StackPanel x:Name="MainPnl"> 
      ... 7 panels ... 
      </StackPanel> 
</ScrollViewer 

コード:

private void ComboBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e) 
    { 
     var item = (sender as ComboBox).SelectedItem; 
     string name = (item as ComboBoxItem).Content.ToString(); 

     Panel pnl = FindName(name) as Panel; 

     int indexof = MainPnl.Children.IndexOf(pnl); 
     MainPnl.Children.RemoveAt(indexof); 

     MainPnl.Children.Insert(0, pnl); 
    } 
+0

ありがとう、それは働いた!これはまさに私が探していたものです。 – andrewvb

関連する問題