<?xml version="1.0" encoding="UTF-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Define a Property with Notify PropertyChanged</Title>
      <Author>Fons Sonnemans</Author>
      <Description>Defines a Property with a backing field which notifies (raises) the PropertyChanged event.</Description>
      <Shortcut>pn</Shortcut>
    </Header>
    <Snippet>
      <Declarations>
        <Literal>
          <ID>PropertyName</ID>
          <Type>String</Type>
          <ToolTip>Replace with property name.</ToolTip>
          <Default>NewProperty</Default>
        </Literal>
        <Literal>
          <ID>PropertyType</ID>
          <Type>
          </Type>
          <ToolTip>Replace with the property type.</ToolTip>
          <Default>String</Default>
        </Literal>
        <Object>
          <ID>PrivateVariable</ID>
          <Type>Object</Type>
          <ToolTip>Replace this with the private variable name.</ToolTip>
          <Default>newPropertyValue</Default>
        </Object>
      </Declarations>
      <Code Language="VB" Kind="method decl">
        <![CDATA[Private $PrivateVariable$ As $PropertyType$
Public Property $PropertyName$() As $PropertyType$
    Get
        Return $PrivateVariable$ 
    End Get
    Set(ByVal value As $PropertyType$)
        If Not $PrivateVariable$ = value Then
           $PrivateVariable$ = value
           OnPropertyChanged(NameOf($PropertyName$))
        End If
    End Set
End Property]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>