Silverlight实战示例7(兼集合属性的妙用)--客户端视图层(V)

Silverlight实战示例7(兼集合属性的妙用)--客户端视图层(V),第1张

概述1)视图层后台代码,很简洁,主要是处理视图模型的创建,当然,如果你利用一些技术,这里是可以不需要代码的。不过我的观点是任何事情都不要搞成洁癖,如果页面的所有控制都放在视图模型层,反而会使得视图模型层最后就变成了视图的后台代码,那么这个MVVM模式就失去了意义。 using MEntities; using RIAServices.Web; using System.Threading; using

1)视图层后台代码,很简洁,主要是处理视图模型的创建,当然,如果你利用一些技术,这里是可以不需要代码的。不过我的观点是任何事情都不要搞成洁癖,如果页面的所有控制都放在视图模型层,反而会使得视图模型层最后就变成了视图的后台代码,那么这个MVVM模式就失去了意义。

using MEntitIEs;
using RIAServices.Web;
using System.Threading;
using System.Dynamic;
using System.windows.Data;
using MAppStructure.viewmodel;
namespace MAppStructure
{
   
    public partial class MainPage : UserControl
    {


        public Dynamicdataviewmodel viewmodel
        {
            get {
                return this.DataContext as Dynamicdataviewmodel;
            }
            set{
                this.DataContext = value;
            }
        }
        public MainPage()
        {
            InitializeComponent();

            //也可以通过其它方式进行构建。在简单应用中,这个文件就基本不用自己写代码了。
        this.viewmodel = new Dynamicdataviewmodel();
        }

2)页面绑定.

<sdk:DataGrID x:name="CustomGrID" ItemsSource="{Binding Path=Datatable.Rows}" GrID.Row="1" autoGenerateColumns="False" >
            <sdk:DataGrID.Columns>
                <sdk:DataGrIDTextColumn CanUserReorder="True" Binding="{Binding Path=[EmployeeID].Value,Mode=OneWay}" CanUserResize="True" CanUserSort="True" WIDth="auto" />
                <sdk:DataGrIDTextColumn CanUserReorder="True" Binding="{Binding Path=[Employeename].Value,Mode=OneWay}" CanUserResize="True" CanUserSort="True" WIDth="auto" />
                <sdk:DataGrIDTextColumn CanUserReorder="True" Binding="{Binding Path=[EmployeeDesc].Value,Mode=OneWay}" CanUserResize="True" CanUserSort="True" WIDth="auto" />
                <sdk:DataGrIDTextColumn CanUserReorder="True" Binding="{Binding Path=[EmployeeAge].Value,Mode=OneWay}" CanUserResize="True" CanUserSort="True" WIDth="auto" />
            </sdk:DataGrID.Columns>
        </sdk:DataGrID>

注意上面的绑定方式和路径语法。

 <button Content="查询" Command="{Binding Path=Commands[button1Command]}" CommandParameter="{Binding Elementname=CustomGrID,Path=SelectedItem}"  GrID.Row="2" Height="23" HorizontalAlignment="left" margin="344,160,0" name="Search"  VerticalAlignment="Center" WIDth="75"/>

这中命令处理模式,稍微改进一下,就可以做成自动动态绑定,比一个个定义命令的方式要好很多,有利于维护的集中处理。

 

到此为止,这个系列就完成了,上面代码都是经过测试的,实际运行的。只是如果你的数据量比较大的话,需要修改服务端Web.Config的配置,增大可序列化对象的最大数。相关问题处理可上网搜,很多的。另外消息机制也可以采用,这个可以利用微软的轻量级框架去做,但切勿烂用。

PS:希望大家多提意见,如有更好的方法希望能不吝赐教。


原文链接: http://www.voidcn.com/article/p-tuhbekmg-bcq.html 总结

以上是内存溢出为你收集整理的Silverlight实战示例7(兼集合属性的妙用)--客户端视图层(V)全部内容,希望文章能够帮你解决Silverlight实战示例7(兼集合属性的妙用)--客户端视图层(V)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1069354.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存