zoukankan      html  css  js  c++  java
  • FrameworkElementFactory中的SetBinding与SetValue

    public static Microsoft.Windows.Controls.DataGridColumn CreateDateColumn(string path, string header)
            {
                ExtendedDataGridTemplateColumn<Microsoft.Windows.Controls.DatePicker> gridTemplateColumn =
                    new ExtendedDataGridTemplateColumn<Microsoft.Windows.Controls.DatePicker>();
                DataTemplate dataTemplate = new DataTemplate();
                FrameworkElementFactory frameworkElementFactory =
                    new FrameworkElementFactory(typeof(Microsoft.Windows.Controls.DatePicker));
                frameworkElementFactory.SetBinding(Microsoft.Windows.Controls.DatePicker.SelectedDateProperty, new Binding()
                {
                    Path = new PropertyPath(path),
                    Mode = BindingMode.TwoWay,
                    UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
                });
                dataTemplate.VisualTree = frameworkElementFactory;
                gridTemplateColumn.MinWidth = 100.0;
                gridTemplateColumn.Width = 140.0;
                gridTemplateColumn.Header = header;
                gridTemplateColumn.CellEditingTemplate = dataTemplate;
                gridTemplateColumn.CellTemplate = createDataTimeTextBolckCellTemplate(path);
                return gridTemplateColumn;
            }
    
    
    private static DataTemplate createDataTimeTextBolckCellTemplate(string path)
            {
                DataTemplate dataTemplate = new DataTemplate();
                FrameworkElementFactory frameworkElementFactory = new FrameworkElementFactory(typeof(TextBlock));
                Binding binding = new Binding();
                binding.Path = new PropertyPath(path);
                
                binding.StringFormat = "yyyy-MM-dd";
                
                binding.Mode = BindingMode.OneWay;
                frameworkElementFactory.SetBinding(TextBlock.TextProperty, binding);
                frameworkElementFactory.SetValue(FrameworkElement.VerticalAlignmentProperty, VerticalAlignment.Center);
                frameworkElementFactory.SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Center);
                
                dataTemplate.VisualTree = frameworkElementFactory;
                return dataTemplate;
            }
    
  • 相关阅读:
    深入c#的String类
    C#语法快速热身
    【BZOJ】1676: [Usaco2005 Feb]Feed Accounting 饲料计算
    【BZOJ】2056: gift? 高精度?
    【BZOJ】3036: 绿豆蛙的归宿
    【BZOJ】2321: [BeiJing2011集训]星器
    【VIJOS】P1401复制CS
    【BZOJ】2453: 维护队列&&【BZOJ】2120: 数颜色 二分+分块 双倍经验
    【BZOJ】3343: 教主的魔法
    【BZOJ】1452: [JSOI2009]Count 树状数组
  • 原文地址:https://www.cnblogs.com/sesametech-netcore/p/13848019.html
Copyright © 2011-2022 走看看