【问题标题】:In Silverlight how do you set the HeaderStyle of a dynamic DataGridColumn在 Silverlight 中,如何设置动态 DataGridColumn 的 HeaderStyle
【发布时间】:2011-11-09 10:38:35
【问题描述】:

我有一个数据网格,我正在从我的 ViewModel 动态地将列添加到这个网格中。用户有一个设置对话框,他们可以在其中管理哪些列出现在此 DataGrid 中。我遇到的问题是我不知道如何在我的 ViewModel 中创建的这些 DataGridColumns 之一上设置 HeaderStyle。

最基本的版本是能够为这些动态列向 DataGridColumnHeader 添加工具提示。请注意,由于它们的动态特性,这些列没有在 XAML 中定义。大多数列都是数据驱动的,因此在编译时是未知的。

加分,用于展示如何向此样式添加按钮以及如何设置其单击或命令属性,以便我可以从网格中删除列(设想在按钮上的 x 图像列标题,当我单击它时,我想删除该列。)

【问题讨论】:

    标签: silverlight dynamic datagridcolumn


    【解决方案1】:

    您可以像这样在代码中分配 HeaderStyle:-

            Style headerStyle = new Style(typeof(DataGridColumnHeader));
            headerStyle.Setters.Add(new Setter(ToolTipService.ToolTipProperty, "Hello World"));
    
            yourDynamicColumn.HeaderStyle = headerStyle;
    

    【讨论】:

    • 你知道我可以设置删除按钮的任何方式吗?实际上我发现了这种设置工具提示的方法,但它不支持将 UI 元素添加到列标题。
    • @Boushley:它应该比它更难。一种方法是完全替换 DataGridColumnHeader 的模板。但即便如此,您也必须找到一种方法将按钮单击绑定到您要执行的操作。
    • 对,这似乎是我正在发现的。似乎我必须跳过很多圈才能在其中获得一个按钮......当我将它绑定到正确的东西时并不能真正起作用:/
    猜你喜欢
    • 2010-12-21
    • 2017-03-29
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 2014-12-02
    • 2011-04-10
    相关资源
    最近更新 更多