【问题标题】:mvvm light silverlight - child windows for adding/editing ordersmvvm light silverlight - 用于添加/编辑订单的子窗口
【发布时间】:2013-09-15 20:56:40
【问题描述】:

我正在为我的公司开发一个 Silverlight Intranet 应用程序,发现 mvvm 是一个令人兴奋的模式并且很想使用它,还观看了 mvvm light 工具包的视频。

我对某些事情感到相当困惑,这可能是因为我习惯于只使用 winforms。

我有一个包含订单列表和 2 个按钮“编辑”和“添加”的页面,我不知道如何使用 mvvm 模式向用户显示子窗口。

我有一个 mainviewmodel 和一个 orderviewmodel,mainviewmodel 有一个可观察的 orderviewmodel 集合。

我可以很好地填充订单列表,我唯一的问题是弄清楚如何显示编辑窗口和添加窗口.. 坚持模式。

我不确定我是不是想多了。

如果有任何帮助可以引导我朝着正确的方向前进,我将不胜感激,如果需要更多信息,请告诉我。

提前致谢, 克劳斯

编辑:10 年没有编码了,我最初的想法当然是在代码隐藏中创建一个新的子窗口并覆盖其构造函数以采用 orderviewmodel,但我宁愿以正确的方式进行。

【问题讨论】:

  • 我发现,不知道我是怎么错过的,一个样本/演练可能非常适合我的需要:codeproject.com/Articles/332615/… 大师在一个表格上,新窗口中的详细信息,可能正是我想要的。

标签: c# mvvm-light silverlight-5.0


【解决方案1】:

可以制作一个窗口,可以添加不同的子控件

<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>

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2011-10-28
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    相关资源
    最近更新 更多