C# mvvm light silverlight-用于添加/编辑订单的子窗口
我正在为我的公司开发一个silverlight intranet应用程序,发现mvvm是一种令人兴奋的模式,我很想使用它,还观看了mvvm light toolkit的视频 我对某些事情感到相当困惑,这可能是因为我习惯于只使用winforms 我有一个包含订单列表和两个按钮的页面,“编辑”和“添加”,我不知道如何使用mvvm模式向用户显示子窗口 我有一个mainviewmodel和一个orderviewmodel,mainviewmodel有一个orderviewmodel的可观察集合 我可以很好地填充订单列表,我唯一的问题是如何显示编辑窗口和添加窗口。。坚持模式 我不确定我是否想得太多了 我将非常感谢任何能引导我走向正确方向的帮助,如果需要更多信息,请告诉我 提前感谢,, 克劳斯C# mvvm light silverlight-用于添加/编辑订单的子窗口,c#,mvvm-light,silverlight-5.0,C#,Mvvm Light,Silverlight 5.0,我正在为我的公司开发一个silverlight intranet应用程序,发现mvvm是一种令人兴奋的模式,我很想使用它,还观看了mvvm light toolkit的视频 我对某些事情感到相当困惑,这可能是因为我习惯于只使用winforms 我有一个包含订单列表和两个按钮的页面,“编辑”和“添加”,我不知道如何使用mvvm模式向用户显示子窗口 我有一个mainviewmodel和一个orderviewmodel,mainviewmodel有一个orderviewmodel的可观察集合 我可以很
编辑:我已经10年没有编写过代码了,我最初的想法当然是在codebehind中创建一个新的childwindow,并重写其构造函数以获取orderviewmodel,但我更愿意以正确的方式进行操作。您可以创建一个窗口并添加不同的子控件
<Window x:Class="RetailPOS.Dashboard"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Child="clr-namespace:RetailPOS.View.Usercontrols.MainWindow"
x:Name="DashBoardCntrl"
xmlns:WpfKb="clr-namespace:WpfKb.Controls;assembly=WpfKb"
Title="MainWindow" Height="768" Width="1024" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical" Grid.Column="0">
<Child:MergeUserInfoSearch x:Name="UserInfo" HorizontalAlignment="Left" Margin="1,0,0,0" Width="513"></Child:MergeUserInfoSearch>
<Child:MenuControl x:Name="MenuCtrl" HorizontalAlignment="Left" Margin="1,0,0,0" Width="510"></Child:MenuControl>
<GroupBox Height="159" Margin="8 0 0 0" HorizontalAlignment="Left" VerticalAlignment="Top" Background="AliceBlue" Header="Categories" Width="499">
<Child:Categories x:Name="cat" HorizontalAlignment="Left" Margin="1,0,0,0" ></Child:Categories>
</GroupBox>
<GroupBox Height="360" Margin="5 0 0 0" HorizontalAlignment="Left" Grid.Row="1" VerticalAlignment="Top" Background="AliceBlue" Header="Products">
<Child:Products HorizontalAlignment="Left" x:Name="prod" Margin="1,0,0,0"></Child:Products>
</GroupBox>
</StackPanel></Grid>
我发现,我不确定我是怎么错过的,一个样本/演练可能非常适合我的需要:一张表单上的主控信息,新窗口中的详细信息,可能正是我想要的。