WPF CodeBehind 草稿
来源:互联网 发布:土地增值税的算法. 编辑:程序博客网 时间:2024/05/17 05:59
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 ""; } }