如何以编程方式为DataGrid设置RowHeaderTemplate?

丹尼·贝克特(Danny Beckett)

我有一个DataGrid用XAML编写的WPF,正在转换为C#(不要问)。

看起来像这样(为简洁起见,省略了一些属性):

var Card = new DataGrid() {
    Background          = Brushes.LightYellow,
    BorderBrush         = Brushes.DimGray,
    ColumnWidth         = new DataGridLength(100),
    Columns             = {
        new DataGridTextColumn() {
            Binding     = new Binding("In"),
            Header      = "In"
        },
        new DataGridTextColumn() {
            Binding     = new Binding("Out"),
            Header      = "Out"
        },
        new DataGridTextColumn() {
            Binding     = new Binding("Hours"),
            Header      = "Hours"
        }
    },
    RowHeaderTemplate   = new DataTemplate(typeof(DataGridRowHeader)) {
        VisualTree      =  Days
    },
    RowHeaderWidth      = 115,
    RowHeight           = 50
};

Days 设置如下:

var Days = new FrameworkElementFactory(typeof(TextBlock));
Days.SetBinding(TextBlock.TextProperty, new Binding("Day"));
Days.SetValue(TextBlock.BackgroundProperty, Brushes.Lime);

运行时,DataGridRowHeader为空白(而LightYellow不是Lime)。

我也尝试过Card.RowHeaderTemplate.VisualTree = Days;,但无济于事。

我要去哪里错了?如何以RowHeaderTemplate编程方式设置

影响

应使用从XAML加载来创建模板。使用元素工厂已过时,不再受支持(在某些情况下可能会起作用,但在其他情况下则不会)。

例如,Caliburn.Micro创建如下默认数据模板

    public static DataTemplate DefaultHeaderTemplate = (DataTemplate)
#if SILVERLIGHT || WinRT
    XamlReader.Load(
#else
    XamlReader.Parse(
#endif
       "<DataTemplate " +
       "    xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'>" +
       "    <TextBlock Text=\"{Binding DisplayName, Mode=TwoWay}\" />" +
       "</DataTemplate>"
    );

您可能会发现另一个有用的链接:以正确的方式用代码创建WPF数据模板它包括一个使用XML和XAML类创建XAML字符串的示例,并引用了程序集和内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何以编程方式将DataGrid列设置为DatePicker输入

来自分类Dev

如何以编程方式为ImageView设置动画

来自分类Dev

如何以编程方式为不同数量的UIView设置约束

来自分类Dev

Android:如何以编程方式为片段设置边距?

来自分类Dev

如何以编程方式将视图设置为正面/背面?

来自分类Dev

如何以编程方式为textview设置字体?

来自分类Dev

如何以编程方式为视图设置特定的宽度/高度?

来自分类Dev

如何以编程方式为视图设置背景?

来自分类Dev

如何以编程方式将UserControl设置为Topmost?

来自分类Dev

如何以编程方式将NSWindow设置为全屏?

来自分类Dev

如何以编程方式为 Imageview 设置双倍高度?

来自分类Dev

如何以编程方式将 UISearchBar 设置为 safeAreaLayoutGuide?

来自分类Dev

如何以编程方式设置UITableView的dataSource?

来自分类Dev

如何以编程方式设置TextFormattingMode?

来自分类Dev

如何以编程方式设置LinearLayout的宽度?

来自分类Dev

如何以编程方式设置UIGestureRecognizer的状态?

来自分类Dev

如何以编程方式设置Cron作业?

来自分类Dev

如何以编程方式设置LockDrawerMode

来自分类Dev

如何以编程方式设置Recyclerview的高度?

来自分类Dev

如何以编程方式设置WKInterfaceController的backgroundColor?

来自分类Dev

如何以编程方式设置WKInterfaceButton字体?

来自分类Dev

如何以编程方式设置DropdownButton的值?

来自分类Dev

如何以编程方式设置ItemsSource属性?

来自分类Dev

如何以编程方式设置SeCreateGlobalPrivilege?

来自分类Dev

如何以编程方式设置Wix OutputName

来自分类Dev

如何以编程方式设置LockDrawerMode

来自分类Dev

如何以编程方式设置视图的高度?

来自分类Dev

如何以编程方式设置大纲级别

来自分类Dev

如何以编程方式设置 UITableView 的高度

Related 相关文章

  1. 1

    如何以编程方式将DataGrid列设置为DatePicker输入

  2. 2

    如何以编程方式为ImageView设置动画

  3. 3

    如何以编程方式为不同数量的UIView设置约束

  4. 4

    Android:如何以编程方式为片段设置边距?

  5. 5

    如何以编程方式将视图设置为正面/背面?

  6. 6

    如何以编程方式为textview设置字体?

  7. 7

    如何以编程方式为视图设置特定的宽度/高度?

  8. 8

    如何以编程方式为视图设置背景?

  9. 9

    如何以编程方式将UserControl设置为Topmost?

  10. 10

    如何以编程方式将NSWindow设置为全屏?

  11. 11

    如何以编程方式为 Imageview 设置双倍高度?

  12. 12

    如何以编程方式将 UISearchBar 设置为 safeAreaLayoutGuide?

  13. 13

    如何以编程方式设置UITableView的dataSource?

  14. 14

    如何以编程方式设置TextFormattingMode?

  15. 15

    如何以编程方式设置LinearLayout的宽度?

  16. 16

    如何以编程方式设置UIGestureRecognizer的状态?

  17. 17

    如何以编程方式设置Cron作业?

  18. 18

    如何以编程方式设置LockDrawerMode

  19. 19

    如何以编程方式设置Recyclerview的高度?

  20. 20

    如何以编程方式设置WKInterfaceController的backgroundColor?

  21. 21

    如何以编程方式设置WKInterfaceButton字体?

  22. 22

    如何以编程方式设置DropdownButton的值?

  23. 23

    如何以编程方式设置ItemsSource属性?

  24. 24

    如何以编程方式设置SeCreateGlobalPrivilege?

  25. 25

    如何以编程方式设置Wix OutputName

  26. 26

    如何以编程方式设置LockDrawerMode

  27. 27

    如何以编程方式设置视图的高度?

  28. 28

    如何以编程方式设置大纲级别

  29. 29

    如何以编程方式设置 UITableView 的高度

热门标签

归档