2012-05-02 91 views
0

我有MVVM建立了一個WPF桌面應用程序,都在MainWindow.xaml提供意見。問題在於按照它們在Window.Resources中出現的順序列出視圖,每個視圖都橫跨屏幕。我想要2個視圖並排顯示在主窗口中。在MVVM的主視圖中使用MVVM並排顯示位置視圖?

爲了澄清,有一個包含一個樹的可視化,並且是2個擴展器可打開和顯示從選項卡內信息旁邊的tabcontrol圖。因爲該應用列出了擴展器在選項卡區域下的視圖。我希望他們躺在旁邊並彈出(部分遮擋)選項卡。

該得到的ObservableCollection的ViewModels(MainWindow.xaml):

<ItemsControl Grid.IsSharedSizeScope="True" ItemsSource="{Binding ViewModels}" 

和他們在主窗口ViewModel類正是如此說:

SearchExpanderViewModel viewModel6 = new SearchExpanderViewModel(decisiontreeRepository); 
    this.ViewModels.Add(viewModel6); 

如何把2次並排主窗口視圖,當我不能把它們放在一個網格?

在此先感謝!

編輯:截圖 我無法添加,因爲聲譽的圖像或什麼,請看這裏:http://imgur.com/7y1yj

+1

請截圖。 – Jon

+0

請更改標題;你沒有定位ViewModels –

回答

0

這是對「座標」添加到這些行mainWindowViewModel:

ExpandersViewModel expanderStackpanelViewModel = new ExpandersViewModel(2,1,1,1, 
decisiontreeRepository); 
this.ViewModels.Add(expanderStackpanelViewModel); 

,並在XAML文件使用一個網格,並添加行和列的getter和setter的視圖模型的特定視圖:

public class PathExpanderViewModel : ViewModelBase{ 
    public int Row { get; set; } 
    public int Col { get; set; } 

    public PathExpanderViewModel(int row, int col){ 
     Row = row; 
     Col = col; 
    } 
} 

我希望這可以幫助其他人有同樣的問題,但它仍然不是100%清楚:)