是否可以使用FrameworkElementFactory将ButtonContentProperty设置为控件(基本上是System.Windows.Shapes.Path)?

时间:2015-05-20 04:24:41

标签: c# wpf wpf-controls wpfdatagrid

我正在尝试创建一个DataGrid类型的自定义控件(WPF),它接受一个字符串列表作为列,以及那些要使用特定模板Image shows the requirement更改(或自定义)的列。

目前我正在使用  `

   FrameworkElementFactory buttonFact = new FrameworkElementFactory(typeof(Button));
   Path path = new Path();
   path.Stroke = System.Windows.Media.Brushes.Black;
   path.StrokeThickness = 2;
   path.Data = System.Windows.Media.Geometry.Parse("M0,5 H10,10");
   buttonFact.SetValue(Button.ContentProperty, path);

但是,当我这样做时,我的例外是

  

不支持从Visual或ContentElement派生的值。

附件说我应该能够基于单击“+”或“ - ”来展开/折叠行。 任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

您可以使用FrameworkElementFactory,而不必设置buttonFact的Content属性,而必须为Path创建一个单独的FrameworkElementFactory并使用buttonFact.AppendChild方法。