设置隐藏时,这里将控件分为两类,

1、普通的按钮、下拉框等,根据控件的Name进行查找,设置IsEnabled为false;

2、ListView中嵌套控件,直接将列隐藏,根据GridViewColumn的Name进行查找,将CellTemplate = new DataTemplate();

 public static void SetAuhority(ContentControl contentControl)
{
var list = LocalSession.AuthorityList.Where(m => m.FunctionClass == "E"
&& m.Page.Trim() == contentControl.DependencyObjectType.Name).ToList(); foreach (var item in list)
{
if (item.Function.Trim().StartsWith("column"))
{
var obj = contentControl.FindName(item.Function.Trim());
if(obj==null)
{
continue;
}
GridViewColumn gridViewColumn = (obj as GridViewColumn);
//gridViewColumn.ClearValue(GridViewColumn.CellTemplateProperty);
gridViewColumn.CellTemplate = new DataTemplate();
}
else
{
UIElement element = contentControl.FindName(item.Function.Trim()) as UIElement;
if (element == null)
{
continue;
}
//element.Visibility = Visibility.Hidden;
element.IsEnabled = false;
}
}

WPF设置对象隐藏、不可用的更多相关文章

  1. wpf XMAL中隐藏控件

    原文:wpf XMAL中隐藏控件 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a771948524/article/details/9264569 ...

  2. WPF 设置类库项目为启动项,设置窗体跟随。

    原文:WPF 设置类库项目为启动项,设置窗体跟随. 1.添加用于启动的类Program.cs,需要一个静态的Main函数入口. using System; using System.Windows; ...

  3. WPF datagrid AutoGenerateColumns隐藏部分列

    原文:WPF datagrid AutoGenerateColumns隐藏部分列 <DataGrid x:Name="gridWC" ItemsSource="{B ...

  4. 通过改写 原始对象的paint 方法,来设置对象的border颜色

    解决方案: //通过改写 原始对象的paint 方法,来设置对象的border颜色 1. package test1;import java.awt.Color;import java.awt.Gra ...

  5. WPF设置DataGrid行内容高度自适应 与 TextBox/TextBlock内容高度自适应

    WPF设置DataGrid行内容高度自适应  TextBox/TextBlock内容高度自适应  参考: DataGrid 控件中的调整大小选项: http://msdn.microsoft.com/ ...

  6. WPF设置VistualBrush的Visual属性制作图片放大镜效果

    原文:WPF设置VistualBrush的Visual属性制作图片放大镜效果 效果图片:原理:设置VistualBrush的Visual属性,利用它的Viewbox属性进行缩放. XAML代码:// ...

  7. Python面向对象基础:设置对象属性

    用类存储数据 类实际上就是一个数据结构,对于python而言,它是一个类似于字典的结构.当根据类创建了对象之后,这个对象就有了一个数据结构,包含一些赋值了的属性.在这一点上,它和其它语言的struct ...

  8. pyqt5 设置窗口按钮等可用与不可用

    setEnabled(True) 设置窗口或者按钮可用,Flase不可用

  9. WPF设置全局字体和字体嵌入

    原文:WPF设置全局字体和字体嵌入 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/CLeopard/article/details/40590373 ...

随机推荐

  1. 《CSS揭秘》笔记(一)

    前言 我们在现代 CSS 中所面临的挑战已经不在于如何绕过这些转瞬即逝的浏览器 bug.如今的挑战是,在保证 DRY ① .可维护.灵活性.轻量级并且尽可能符合标准的前提下,把我们手中的这些CSS特性 ...

  2. 5G时代的到来,会给生活带来什么改变?

    本文首发于:风云社区. 据百度百科介绍,5G网络是第五代移动通信网络,其峰值理论传输速度可达每秒数十Gb,比4G网络的传输速度快数百倍.举例来说,整部超高画质电影可在1秒之内下载完成.   5G网络已 ...

  3. set_index() pandas

    set_index DataFrame可以通过set_index方法,可以设置单索引和复合索引. DataFrame.set_index(keys, drop=True, append=False, ...

  4. kafka关于修改副本数和分区的数的案例实战(也可用作leader节点均衡案例)

    kafka关于修改副本数和分区的数的案例实战(也可用作leader节点均衡案例) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.关于topic分区数的修改 1>.创建1分 ...

  5. Python基础【day03】:集合进阶(四)

    本节内容 1.关系测试(特殊符号) 1.交集2.并集3.差集4.对称差集5.是否是子集6.是否是父集 2.基本操作 1.add2.update3.remove VS pop vs discard4.l ...

  6. 4、Python-列表

    列表格式 # 元素可以是不同类型的 namesList = [1, 'xiaoZhang', 'xiaoHua'] print(namesList[0]) print(namesList[1]) pr ...

  7. Linux记录-shell一行代码杀死进程(收藏)

    ps -ef |grep hello |awk '{print $2}'|xargs kill -9

  8. JavaScript 无刷新修改浏览器URL地址栏

    //发现地址栏已改为:newUrlvar stateObject = {}; var title = "Wow Title"; var newUrl = "/my/awe ...

  9. Java EE之Hibernate异常总结【3】Disabling contextual LOB creation as createClob() method threw error java.lang.reflect.InvocationTargetException

    参考文献:https://stackoverflow.com/questions/4588755/disabling-contextual-lob-creation-as-createclob-met ...

  10. vue pc端网站项目开发坑点与难度记录

    背景 在一pc端的web项目里,由于某些特性需要由动态语言处理,所以只在有需要使用vue来处理数据的页面,直接引入vue.js来处理.由于刚开始并没有打算使用前端来渲染数据和处理交互,所以使用了一些非 ...