【WPF】DataGrid动态绑定隐藏列 DataGridTextColumn.Visibility

摘要:
名称=“dummyElement”可见性=“折叠”/>前<窗口资源>/窗口资源>/数据网格模板列></mch;}set{_visible=value;OnPropertyChanged(“可见”);

方法一:

前端

 <FrameworkElement x:Name="dummyElement" Visibility="Collapsed"/>
    <DataGrid>
        <DataGrid.Columns>
            <DataGridTextColumn Header="Test"
                                Binding="{Binding Name}"
                                Visibility="{Binding DataContext.Visible,
                                          Source={x:Reference dummyElement}}"/>
        </DataGrid.Columns>
    </DataGrid>

方法二:

前端

<Window.Resources>
    <ResourceDictionary>
        <FrameworkElement x:Key="ProxyElement" DataContext="{Binding}" />
    </ResourceDictionary>
</Window.Resources>

<!-- Necessary for binding to resolve: adds reference to ProxyElement to tree.-->
<ContentControl Content="{StaticResource ProxyElement}" Visibility="Collapsed" />
<mch:MCHDataGrid Height="350"
                  AutoGenerateColumns="False"
                  FlowDirection="LeftToRight"
                  ItemsSource="{Binding PayStructures}"
                  SelectedItem="{Binding SelectedItem}">
    <DataGrid.Columns>
         <DataGridTemplateColumn Width="70"
                                 Header="name"
                                 IsReadOnly="True"
                                 Visibility="{Binding DataContext.Visible,
                                 Source={StaticResource ProxyElement}}">
             <DataGridTemplateColumn.CellTemplate>
                 <DataTemplate>
                     <TextBlock Text="{Binding FieldName}" />
                 </DataTemplate>
             </DataGridTemplateColumn.CellTemplate>
         </DataGridTemplateColumn>                   
     </DataGrid.Columns>
</mch:MCHDataGrid>

后端窗体下加个属性即可

public System.Windows.Visibility Visible 
{
  get{return _visible;}
  set{_visible=value; OnPropertyChanged("Visible");}
}
private System.Windows.Visibility _visible;

原文地址:https://stackoverflow.com/questions/22073740/binding-visibility-for-datagridcolumn-in-wpf

免责声明:文章转载自《【WPF】DataGrid动态绑定隐藏列 DataGridTextColumn.Visibility》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇pycharm注册iostat磁盘监控工具下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

if的用法

if用法举例:求分数的等级 1 # include <stdio.h> 2 3 int main(void) 4 { 5 float score; //score分数 6 7 printf("请输入您的考试成绩: "); 8 scanf("%f", &score); 9 10 if...

munge源码编译

1. 下载安装munge 创建普通帐号munge,用于运行munged 下载源码:https://github.com/dun/munge/releases/tag/munge-0.5.14 解压:tar -xvf munge-0.5.14.tar.xz 进入目录:cd munge-0.5.14 创建安装目录:mkdir -p /usr/local/hpc...

阻止Bootstrap 模态框点击背景空白处自动关闭

问题描述 模态框点击空白处,会自动关闭,怎么阻止关闭事件呢? 解决方法 在HTML页面中编写模态框时,在div初始化时添加属性 aria-hidden=”true” data-backdrop=”static”,即可。 <!-- 模态框(Modal) --> <div class="modal fade" id="myModal" t...

SpringMVC源码阅读HandlerMapping初始化-AbstractHandlerMapping(五)

接口 public interface HandlerMapping { /** * 根据requst获得 对应的Handler * @param var1 * @return * @throws Exception */ Handl...

ASP.NET Repeater_02_完整分页

本文内容 分页基本1 分页基本2 分页按钮在 Repeater 控件内 分页按钮在 Repeater 控件外 分页基本1 <%@ Page Language="C#" %>   <%@ Import Namespace="System.Data" %> &l...

WPF 读写XML文件

程序集整体框架如下:  其中XmlReader类如下: using System; using System.Collections.Generic; using System.Text; using System.Xml; namespace WpfApp4 { public class XmlReader { pr...