内容简介:我有一个用户控件,它将样式应用于按钮,样式包含ControlTemplate部分.在ControlTemplate中,有各种UI元素,如Ellipse和Path.如果我给这些元素 – Ellipse和Path – 一个带x:Name的名称,我可以从后面的代码中访问它们吗?看起来样式的Ellipse和Path不可见,因为我收到编译错误(C#).
我有一个用户控件,它将样式应用于按钮,样式包含ControlTemplate部分.在ControlTemplate中,有各种UI元素,如Ellipse和Path.
如果我给这些元素 – Ellipse和Path – 一个带x:Name的名称,我可以从后面的代码中访问它们吗?
看起来样式的Ellipse和Path不可见,因为我收到编译错误(C#).
我是以错误的方式来做这件事的吗?
由于模板可以多次实例化,因此无法通过x:Name绑定生成的成员.相反,您必须在应用于控件的模板中找到命名元素.
给出简化的XAML:
<ControlTemplate x:Key="MyTemplate"> <Ellipse x:Name="MyEllipse" /> </ControlTemplate>
你会做这样的事情:
var template = (ControlTemplate)FindResource("MyTemplate"); template.FindName("MyEllipse", myControl);
甚至更简单:
var ellipse = (Ellipse)myControl.Template.FindName("MyEllipse", myControl);
你可以阅读约
FrameworkTemplate.FindName
.
翻译自:https://stackoverflow.com/questions/1521964/wpf-set-named-style-elements-from-code-behind
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First JavaScript程序设计
[美]Eric T. Freeman、[美] Elisabeth Robson / 袁国忠 / 人民邮电出版社 / 2017-9 / 129.00 元
本书语言和版式活泼,内容讲解深入浅出,是难得的JavaScript入门书。本书内容涵盖JavaScript的基本知识以及对象、函数和浏览器文档对象模型等高阶主题。书中配备了大量有趣的实例、图示和练习,让读者轻轻松松掌握JavaScript。一起来看看 《Head First JavaScript程序设计》 这本书的介绍吧!