TDa*_*ver 6 silverlight dependencyobject silverlight-4.0
我有一个DependencyObject(一个交互行为),我想从代码中得到它的x:Name(只是get,not set).可能吗?
编辑:关注AnthonyWJones的回答:
我已将以下代码插入到我的基本行为中:
[EditorBrowsable(EditorBrowsableState.Never)]
public string Name
{
get { return (string)GetValue(NameProperty); }
set { SetValue(NameProperty, value); }
}
public static readonly DependencyProperty NameProperty =
DependencyProperty.Register("Name", typeof(string), typeof(BaseBehavior<T>), new PropertyMetadata(null));
Run Code Online (Sandbox Code Playgroud)
我给了我的行为x:Name,但Name属性没有被填充.
如果派生类DependencyObject没有公开Name属性,那么您无法确定分配的x:Name. 该x:Name值仅存储在内部对象树中,并且没有 API 可以将值(对象)解析回键值(名称)。
但是,如果这是您自己的行为,那么只需Name向您的行为添加依赖属性即可。x:Name 会将值分配给Name属性(如果存在)。
如果这是现有行为,您可以继承它来创建具有Name属性的新类。不幸的是,有些行为是密封的,所以你不能总是这样做。
| 归档时间: |
|
| 查看次数: |
3129 次 |
| 最近记录: |