WPF CodeBehind 草稿




var column1 = new DataGridTextColumn(); 
column1.Header = "Hello World"; 
column1.Binding = new Binding("firstName"); 
var column2 = new DataGridTemplateColumn(); 
column2.Header = "Template Column";
var template = new DataTemplate { DataType = typeof(string) }; 
var stackPanelFactory = new FrameworkElementFactory(typeof(StackPanel)); 
stackPanelFactory.SetValue(StackPanel.OrientationProperty, Orientation.Vertical); 
var title = new FrameworkElementFactory(typeof(TextBlock)); 
title.SetBinding(TextBlock.TextProperty, new Binding("hi2")); 
title.SetValue(TextBlock.ForegroundProperty, Brushes.Orange); 
//title.SetValue(TextBlock.BackgroundProperty, "{Binding Path=hi2, Converter={StaticResource ColorConvert}}"); 
var b1 = new Binding(); 
b1.Converter = new ColorConvert2(); 
b1.ConverterParameter = column2.Header; 
b1.Path = new PropertyPath("hi2"); 
title.SetValue(TextBlock.BackgroundProperty, b1); 
var b2 = new Binding(); 
b2.Converter = new TextConvert1(); 
b2.Path = new PropertyPath("hi2"); 
title.SetValue(TextBlock.TextProperty, b2); 
stackPanelFactory.AppendChild(title); 
template.VisualTree = stackPanelFactory; 
column2.CellTemplate = template; 
datagridTest.Columns.Add(column1); 
datagridTest.Columns.Add(column2); 
datagridTest.Items.Add(new { hi2 = "打倒!", firstName = "Hi My FirstName" }); 
datagridTest.Items.Add(new { hi2 = "普通模式", firstName = "2Hi My FirstName" });

Converter
  [ValueConversion(typeof(string), typeof(string))]
    public class TextConvert1 : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {                      
            string strValue = value.ToString();

            if (strValue.Contains("fuxk"))
                return "含有关键字根据法律不予显示";

            return strValue;          
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return "";
        }
    }



   

posted on   norsd  阅读(188)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能

导航

< 2013年5月 >
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示