向 XAML 中的元素添加自定义属性?
在 html 中,没有什么可以阻止您创建自定义属性,因为它实际上是 xml,例如
<span myProperty="myValue"></span>
然后您可以通过 javascript 读取该属性。
你能在wpf中做同样的事情吗?例如:
<Canvas MyProperty="MyValue" Name="MyCanvas" DataContext="{Binding}" Background="Black" Margin="181,0,0,0"></Canvas>
如果是这样,您将如何访问该属性?例如:
MyCanvas.MyProperty;
In html, there is nothing preventing you from creating custom attributes, since it is effectively xml such as
<span myProperty="myValue"></span>
Then you can read that property via javascript.
Can you do the same thing in wpf? For example:
<Canvas MyProperty="MyValue" Name="MyCanvas" DataContext="{Binding}" Background="Black" Margin="181,0,0,0"></Canvas>
and If so how would you access that property? For example:
MyCanvas.MyProperty;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以获得的最接近的是附加属性。基本上,另一个类定义了一个已知属性(即 MyProperty),可以在其他元素上设置该属性。
一个示例是 Canvas.Left 属性,Canvas 使用该属性来定位子元素。但任何类都可以定义附加属性。
附加属性是附加行为背后的关键,这是 WPF/银光。
编辑:
这是一个示例类:
然后在 XAML 中您可以像这样使用它:
您可以使用 MyClass.GetMyProperty 并传入设置属性的元素从代码中获取属性。
The closest you can get are attached properties. Basically, another class defines a known property (i.e. MyProperty), which can be set on other elements.
An example would be the Canvas.Left property, which is used by the Canvas to position a child element. But any class can define an attached property.
Attached properties are the key behind attached behaviors, which is a great feature of WPF/Silverlight.
EDIT:
Here is an example class:
Then in XAML you can use it like so:
You can get the property from code using
MyClass.GetMyProperty
and passing in the element on which the property is set.