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 "";        }    }

	
				
		
原创粉丝点击