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;
            }
    
  • 相关阅读:
    16条很有用的Chrome浏览器命令
    通用测试用例
    Vue中@click、@click.stop和@click.prevet用法
    Vue事件的函数传参
    Vue事件的基本用法
    vue中v-on和v-bind的区别
    Vue中数据的双向绑定方法
    v-once用法
    v-clock、v-text、v-html和v-pre详解
    IDEA给已有项目添加maven依赖
  • 原文地址:https://www.cnblogs.com/sesametech-netcore/p/13848019.html
Copyright © 2011-2022 走看看