WPF关于控件 父级控件,子级控件,控件模板中的控件,等之间的相互访问
原文:WPF关于控件 父级控件,子级控件,控件模板中的控件,等之间的相互访问
1,在菜单中访问 弹出菜单的控件
var mi = sender as MenuItem;//菜单条目 MenuItem
var cm = mi.Parent as ContextMenu;//访问他爹 菜单 contextMenu
var t1 = cm.PlacementTarget as ScrollContentPresenter; //访问 弹出此菜单的控件
2.用模版中的子元素 来引用 使用了此模版的控件
var t1 = cm.PlacementTarget as ScrollContentPresenter; //这个东西是在模版中的
var contorl1 = t1.TemplatedParent; //用templateParent 访问到他的模版里的父控件
DependencyObject parent = (DependencyObject)contorl1;// 定义一个DependencyObject, 这东西是几乎是所有视觉控件的父类
while(!(parent is DataGrid)) //利用视图树找离contorl1最近的一个datagrid,在这里就是引用了模版的datagrid
{
parent = VisualTreeHelper.GetParent(parent);
}
DataGrid dataGrid = parent as DataGrid;
举了这两个例子,就可以四两拨动千斤了
WPF关于控件 父级控件,子级控件,控件模板中的控件,等之间的相互访问的更多相关文章
- WPF备忘录(5)怎样修改模板中的控件
首先,想问大家一个问题,你们如果要给一个Button添加背景图片会怎么做?(呵呵,这个问题又点小白哈) 是这样吗? <Button Height="57" Horizonta ...
- WPF 获取控件模板中的控件
DG是控件名称public T GetVisualChild<T>(DependencyObject parent, Func<T, bool> predicate) wher ...
- WPF日积月累之DataGrid样式以及操作数据模板中的控件
一.效果图 二.代码预览 1 <Window x:Class="Test.MainWindow" 2 xmlns="http://schemas.microsoft ...
- UWP 查找模板中的控件
这个标题我也不知道咋起,意思说一下你就明白. 1. 对官方控件的模板进行定制修改,以满足多样化需求,还有漂亮的UI 比如ListView,GridView等. 2. 在设计的情况下并没有这个控件,而在 ...
- 在DataList、Repeater的HeaderTemplate和FooterTemplate模板中寻找控件FindControl
[程序代码] <asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> ...
- 轻松学习Asp.net中的控件
C/S 结构,即大家熟知的客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销.目前大多数应用软件 ...
- WPF中查找控件的扩展类
在wpf中查找控件要用到VisualTreeHelper类,但这个类并没有按照名字查找控件的方法,于是搜索网络,整理出下面这个类,感觉用起来很是方便. 贴出来,供大家参考. /// <summa ...
- UGUI核心元素、基本控件、复合控件和高级控件
UGUI的核心元素: Anchor(锚点):每个控件都有一个Anchor属性,控件的4个顶点,分别与Anchor的4个点保持不变的距离,不受屏幕分辨率变化的影响. 系统默认设置控件的Anchor位置在 ...
- WPF中TreeView控件数据绑定和后台动态添加数据(一)
数据绑定: 更新内容:补充在MVVM模式上的TreeView控件数据绑定的代码. xaml代码: <TreeView Name="syntaxTree" ItemsSourc ...
随机推荐
- 线上java排查
http://www.oschina.net/question/560995_137855?sort=default&p=3#answers http://www.blogjava.net/h ...
- [tmux] Automate your workflow using tmux scripts
Do you have a standard workflow that involves setting up a specific tmux layout, or running certain ...
- freemarker自己定义标签报错(七)
1.错误描写叙述 六月 09, 2014 11:11:09 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template pr ...
- 关于CoordinatorLayout与Behavior的一点分析
Behavior是Android新出的Design库里新增的布局概念.Behavior只有是CoordinatorLayout的直接子View才有意义.可以为任何View添加一个Behavior.Be ...
- vimrum
# Insert your preferred key mappings here.unmap <a-O>map <a-O> closeOtherTabsmap , previ ...
- 【hdu 2594】Simpsons’ Hidden Talents
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
- Linux下iptables屏蔽IP和端口号
http://blog.csdn.net/kobejayandy/article/details/24332597 iptables 屏蔽端口
- CF337D Book of Evil - 树型dp
传送门 题目大意: 一棵树上有一个特殊点,特殊点可以影响距离小于等于d的点,现在告诉被影响的点,问特殊点可以在几个点上. 题目分析: 对题意进行转化:求到被影响点的最大距离小于等于d的点数目. 然后就 ...
- jQuery实现复选框的全选、反选、并且根据复选框的<checked属性>控制多个对应div的显示/隐藏
<!doctype html><html> <head> <meta charset="utf-8"> <title>j ...
- maven hadoop 3.x HADOOP_HOME and hadoop.home.dir are unset Not implemented by the WebHdfsFileSystem FileSystem implementation
具体异常如下: 解决方案: 删除pom文件中的hadoop-core的依赖,原因:hadoop-core是1.x的产物,在2.x之后已经被hadoop-common取代,我配置的时候同时使用了这两个依 ...