<TemplatesExport>
  <Folder name="File 'dpp-snippet.xml'">
    <Template uid="0b665035-bde2-4739-b363-07297a142c67" text="#region $PropertyName$ dependency property&#xD;&#xA;&#xD;&#xA;/// &lt;summary&gt;&#xD;&#xA;/// $Description$&#xD;&#xA;/// &lt;/summary&gt;&#xD;&#xA;public static readonly DependencyProperty $PropertyName$Property;&#xD;&#xA;&#xD;&#xA;//TODO: copy to static constructor&#xD;&#xA;//register dependency property&#xD;&#xA;//FrameworkPropertyMetadata md = new FrameworkPropertyMetadata($DefaultValue$, $PropertyName$PropertyChanged);&#xD;&#xA;//$PropertyName$Property = DependencyProperty.Register(&quot;$PropertyName$&quot;, typeof ($PropertyType$), typeof ($OwnerClass$), md);                                                      &#xD;&#xA;&#xD;&#xA;&#xD;&#xA;/// &lt;summary&gt;&#xD;&#xA;/// A property wrapper for the &lt;see cref=&quot;$PropertyName$Property&quot;/&gt;&#xD;&#xA;/// dependency property:&lt;br/&gt;&#xD;&#xA;/// $Description$&#xD;&#xA;/// &lt;/summary&gt;&#xD;&#xA;public $PropertyType$ $PropertyName$&#xD;&#xA;{&#xD;&#xA;  get { return ($PropertyType$)GetValue($PropertyName$Property); }&#xD;&#xA;  set { SetValue($PropertyName$Property, value); }&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;/// &lt;summary&gt;&#xD;&#xA;/// Handles changes on the &lt;see cref=&quot;$PropertyName$Property&quot;/&gt; dependency property. As&#xD;&#xA;/// WPF internally uses the dependency property system and bypasses the&#xD;&#xA;/// &lt;see cref=&quot;$PropertyName$&quot;/&gt; property wrapper, updates should be handled here.&#xD;&#xA;/// &lt;/summary&gt;&#xD;&#xA;/// &lt;param name=&quot;d&quot;&gt;The currently processed owner of the property.&lt;/param&gt;&#xD;&#xA;/// &lt;param name=&quot;e&quot;&gt;Provides information about the updated property.&lt;/param&gt;&#xD;&#xA;private static void $PropertyName$PropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)&#xD;&#xA;{&#xD;&#xA;  $OwnerClass$ owner = ($OwnerClass$)d;&#xD;&#xA;  $PropertyType$ newValue = ($PropertyType$)e.NewValue;&#xD;&#xA;   &#xD;&#xA;  //TODO provide implementation&#xD;&#xA;  throw new NotImplementedException(&quot;Change event handler for dependency property $PropertyName$ not implemented.&quot;);&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;#endregion&#xD;&#xA;" shortcut="dpp" description="WPF Dependency Property with Callback" reformat="true" shortenQualifiedReferences="true">
      <Context>
        <CSharpContext context="Everywhere" />
      </Context>
      <Variables>
        <Variable name="PropertyName" expression="" initialRange="0" />
        <Variable name="DefaultValue" expression="" initialRange="0" />
        <Variable name="PropertyType" expression="" initialRange="0" />
        <Variable name="OwnerClass" expression="typeName()" initialRange="0" />
        <Variable name="Description" expression="" initialRange="0" />
      </Variables>
      <CustomProperties />
    </Template>
  </Folder>
</TemplatesExport>