论坛首页 编程语言技术论坛

企业应用开发者使用WPF的三个理由

浏览 9682 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-16  
让控件更灵活的Data Template

            GridViewColumn gvcName = new GridViewColumn();
            gvcName.Header = "Name";
            DataTemplate nameTemplate = new DataTemplate();
            FrameworkElementFactory nameFactory = new FrameworkElementFactory(typeof(ContactPropertyLabel));
            Binding binding = new Binding("Name");
            binding.Mode = BindingMode.TwoWay;
            nameFactory.SetBinding(ContentProperty, binding);
            nameTemplate.VisualTree = nameFactory;
            gvcName.CellTemplate = nameTemplate;
            gvContactList.Columns.Add(gvcName);


这段代码可以给一个ListView的一列做双向绑定,并且指定这一行的渲染控件。

比Windows Forms更强的Binding

public class Contact : DependencyObject
    {
public static DependencyProperty NameProperty = DependencyProperty.Register("Name", typeof (string), typeof (Contact));

        public string Name
        {
            get { return (string) GetValue(NameProperty); }
            set { SetValue(NameProperty, value); }
        }
}

DependencyObject + DependencyProperty使得属性设置可以自动触发ValueChanged事件,从而让Binding进行更新。

让排版更灵活的各种Layout控件

对于普通界面的排版,用Grid+Border
对于要动态添加删除的界面排版,在需要动态增删的位置使用StackPanel
   发表时间:2007-05-17  
我想企业应用开发者不使用WPF只需要一个理由:等待成熟.
企业应用的关键是稳定性(包括技术的稳定性和系统的稳定性),宁可采用成熟技术,而不是追逐潮流。成熟技术正好是之前的潮流沉淀下来的那些,而当前的潮流,很难说会不会是明日黄花。
从企业应用开发者的角度,选择相对成熟的技术不论是从自身的积累角度,还是人力资源、知识获取等方面,都比潮流技术要低风险。
特别是对于windows平台,多数产品的各个beta版之间api差异比较大,各个.x版之间差异也比较大,追逐潮流并不会给公司带来可见的收益。最佳的办法是派一个人专门干咀嚼消化这些东西。
0 请登录后投票
   发表时间:2007-05-17  
我和你做完全相同的想法。开始学习WPF也是被逼的。现在在做的项目需要大量自定义控件。在Windows Forms上做的话要大量代码自己写。要么就要去第三方控件上改。WPF的Template使得控件自定义的工作变得极大简化和统一。
0 请登录后投票
   发表时间:2007-05-18  
taowen 写道
我和你做完全相同的想法。开始学习WPF也是被逼的。现在在做的项目需要大量自定义控件。在Windows Forms上做的话要大量代码自己写。要么就要去第三方控件上改。WPF的Template使得控件自定义的工作变得极大简化和统一。

现在.net fx3.0还没有普及.
0 请登录后投票
   发表时间:2007-05-18  
服务器客户端都是企业内部的,有完全的权限来做部署。不是互联网应用。
0 请登录后投票
   发表时间:2007-05-18  
taowen 写道
服务器客户端都是企业内部的,有完全的权限来做部署。不是互联网应用。

但也要比较高的配置~
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics