- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道在 FrameworkElement(例如窗口)上调用 FindResource() 可用于在 FrameworkElement 的 ResourceDictionary 中查找资源。
例如,我已经多次使用它通过代码访问一个Style,动态地向该Style添加一个新的Setter。我总是将 Style 的 x:Key 值作为字符串传递给 FindResource() 方法。喜欢... Style style = w.FindResource("GridDescriptionColumn") as Style;
我的问题是,我注意到 FindResource() 接受对象类型的参数而不是字符串类型的参数。我一生都想不出我会用一个不是字符串的参数调用 FindResource() 的原因。这让我觉得我可能不知道使用 FindResource() 的其他方法。
有谁知道为什么 FindResource() 接受对象的参数类型而不是字符串?如果是这样,使用字符串以外的参数类型调用 FindResource() 的示例是什么?
谢谢。
最佳答案
资源可以有任何对象作为键。在后面的代码中添加带有对象键的资源很容易并且很有用。在 XAML 中,大多数情况下您使用字符串作为 x:Key
.然而,有一种常见的情况是键不是字符串,您甚至可能在没有意识到的情况下使用了它:
当Style
没有 x:Key
,它应用于其 TargetType
的每个实例.但是编译器添加了一个隐式键:TargetType
的类型本身。
总之,写<Style TargetType="{x:Type Button}" />
在资源部分与写作完全相同 <Style TargetType="{x:Type Button}" x:Key="{x:Type Button}" />
.要从代码中取回此资源,您必须使用 FindResource(typeof(Button))
,通过 Type
而不是 string
.
关于.net - 为什么 FrameworkElement 的 FindResource() 方法接受对象而不是字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2999295/
我是 Silverlight 编程的新手。谁能告诉我两者之间的区别 FrameworkElement obj=sender as FrameworkElement 和 FrameworkElement
在对 Cannot find governing FrameworkElement or FrameworkContentElement for target element 错误进行了一些研究后,我
我试图在构造函数中设置Page的Name属性: public partial class PageListView : Page { public PageListView(string ti
试图让 OnMouse 事件出现在 child 身上 FrameworkElement .父元素是 Panel (并且 Background 属性不是 Null)。 class MyFramework
我们有一个派生自 FrameworkElement 且不受我们控制的类。此类在 OnInitialize 中注册事件处理程序方法。 由于 FrameworkElement 不提供与 OnInitial
我一直在通过 Sells/Griffiths 的“Programming WPF”自学 WPF,我发现它是一个很好的资源,但我正在尝试采用他们向我介绍的一些概念并开始更进一步,我遇到了关于如何将各个部
我正在使用我在 http://brianlagunas.com/wpf-copy-uielement-as-image-to-clipboard/ 找到的一些代码复制呈现的 XAML Treeview
我不清楚您何时会使用 UIElement而不是 FrameworkElement ,以及为什么会有 FrameworkElement根本没有课。本质上,FrameworkElement 的额外功能是什
我正在尝试在使用 Uno 构建的 WebAssembly 应用程序中创建文件对话框。我添加了一个自定义 FrameworkElement 来创建 在页面中像这样: [HtmlElementAttrib
我收到了 FrameworkElement在类的事件处理程序中。是否有可能检查这个 FrameworkElement是具有 borderthickness/borderbrush 属性的元素吗? 喜欢
根据文档“(FrameworkElement.SizeChanged) 当此元素上的 ActualHeight 或 ActualWidth 属性值更改时发生。” 运行以下测试方法,我的矩形的 Actu
每个 FrameworkElement 都有一个 Loaded 事件,该事件在以下情况下触发: the tree is not only built and initialized, but layo
您能否举例说明如何创建直接从 FrameworkElement 派生的自定义复合控件(在 Silverlight 4 中)。这是一个模型: public sealed class CompositeI
我有一棵视觉树。主窗口有一个全尺寸的 Canvas 。 Canvas 包含一些自定义视觉对象的根。第一个自定义 Visual (A) 可以根据用户正在查看的内容进行扩展和收缩,这些内容位于子项中(Bs
是否可以识别哪个窗口/用户控件拥有 FrameworkElement ? 谢谢你。 最佳答案 您可以使用 .Parent “走上去” - 属性,直到找到窗口或用户控件。只需在向上走时检查 parent
我有一个 FrameworkElement(实际上是一个 ToggleButton),其内容中有一个 Popup。 我是这样访问的: ToggleButton button = (ToggleButt
我正在尝试自定义绘制 GridSplitter,并且我有以下 XAML 代码: DiffSplitterCanva
如何获取框架元素边界矩形的左上角坐标? let fe : FrameworkElement = ea.Item.Content let p = fe.TranslatePoint(ne
对于 WPF,Window 类中有一个 ContentRendered 事件,它让我们知道视觉元素何时被渲染。 有什么可以帮助我为 UWP 应用实现相同的结果吗?我想知道 FrameworkEleme
我的一个数据源生成一组值,这些值被输入到以下接口(interface) public interface IData { string Name { get; } FrameworkE
我是一名优秀的程序员,十分优秀!