Skip to content

Attributes

SimonCropp edited this page Mar 14, 2013 · 8 revisions

ImplementPropertyChangedAttribute

Allows the injection of the INotifyPropertyChanged interface.

[ImplementPropertyChanged]
public class Person 
{
    public string Name { get; set; }
}

AlsoNotifyForAttribute

Allows the injection of notify code that points to a different property.

For example

public class Person : INotifyPropertyChanged
{
    [AlsoNotifyFor("FullName")]
    public string GivenName { get; set; }

    [AlsoNotifyFor("FullName")]
    public string FamilyName { get; set; }

    public event PropertyChangedEventHandler PropertyChanged;

    public string FullName { get; set; }
}

DoNotNotifyAttribute

Use this attribute to exclude a property or type from having notification injected.

For Example

public class Person : INotifyPropertyChanged
{
    public string GivenName { get; set; }
    [DoNotNotify]
    public string FamilyName { get; set; }
    public event PropertyChangedEventHandler PropertyChanged;
}

DependsOnAttribute

Injects this property to be notified when a dependent property is set.

For Example

public class Person : INotifyPropertyChanged
{
    public string GivenName { get; set; }

    public string FamilyName { get; set; }

    public event PropertyChangedEventHandler PropertyChanged;

    [DependsOn("GivenName","FamilyName")]
    public string FullName { get; set; }
}

DoNotSetChangedAttribute

Used to ignore IsChanged for a given property.

For Example below IsChanged will not be called when FullName is set.

public class Person: INotifyPropertyChanged
{
    [DoNotSetChanged]
    public string FullName { get; set; }
    public bool IsChanged { get; set; }

    public event PropertyChangedEventHandler PropertyChanged;
}
Clone this wiki locally