Übergeben von Daten an Untergeordnete Fenster in Silverlight 4 mit MVVM

Ich habe ein datagrid mit master-detail-Implementierung wie folgt:

<data:DataGrid x:Name="dgData"  Width="600" ItemsSource="{Binding Path=ItemCollection}"
                       HorizontalScrollBarVisibility="Hidden" CanUserSortColumns="False" RowDetailsVisibilityChanged="dgData_RowDetailsVisibilityChanged">
                    <data:DataGrid.Columns>
                        <data:DataGridTextColumn Header="Item" Width="*" Binding="{Binding Item,Mode=TwoWay}"/>
                        <data:DataGridTextColumn Header="Company" Width="*" Binding="{Binding Company,Mode=TwoWay}"/>

                    </data:DataGrid.Columns>
                    <data:DataGrid.RowDetailsTemplate>
                        <DataTemplate>
                            <data:DataGrid x:Name="dgrdRowDetail" Width="400" AutoGenerateColumns="False" HorizontalAlignment="Center" 
                                       HorizontalScrollBarVisibility="Hidden" Grid.Row="1">
                                <data:DataGrid.Columns>
                                    <data:DataGridTextColumn Header="Date" Width="*" Binding="{Binding Date,Mode=TwoWay}"/>
                                    <data:DataGridTextColumn Header="Price" Width="*" Binding="{Binding Price, Mode=TwoWay}"/>
                                    <data:DataGridTemplateColumn>
                                        <data:DataGridTemplateColumn.CellTemplate>
                                            <DataTemplate>
                                                <Button Content="Show More Details" Click="buttonShowDetail_Click"></Button>
                                            </DataTemplate>
                                        </data:DataGridTemplateColumn.CellTemplate>
                                    </data:DataGridTemplateColumn>
                                </data:DataGrid.Columns>
                            </data:DataGrid>
                        </DataTemplate>
                    </data:DataGrid.RowDetailsTemplate>
                </data:DataGrid>

Möchte ich öffnen Sie ein Kind-Fenster bei Klick auf die Schaltfläche, die zeigt mehr Informationen über das Produkt.

Ich bin mit MVVM-Muster. Mein Modell enthält eine Methode, bei der der name des Gegenstands als Eingabe und gibt die Details der Daten.

Mein problem ist, wie soll ich übergeben Sie das Element, um ViewModel, das die Details der Daten vom Modell? Und wo sollte ich öffnen Sie die neue Untergeordnete Fenster? In der View oder ViewModel?

InformationsquelleAutor Archie | 2010-05-21
Schreibe einen Kommentar