是否有可能获得x:DependencyObject(Silverlight)的名称?

我有一个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));

我给了我的行为x:Name,但Name属性没有被填充.

如果您希望您的Name属性与x:Name XAML名称相同,那么不要实现您自己的dependcy属性,而是捎带已注册的现有属性.您可以简单地将您的name属性实现为:

public string Name
{
    get { return (string) base.GetValue(FrameworkElement.NameProperty); }
    set { base.SetValue(FrameworkElement.NameProperty, value); }
}
相关文章
相关标签/搜索