c# - Winrt Dependency Property Visual Studio XAML error. -


this dependency property:

public static readonly dependencyproperty buttontapsoundproperty = dependencyproperty.registerattached("buttontapsound", typeof (uri), typeof (buttondependencyobject), new propertymetadata(default(uri), urichanged)); 

i use this:

<button buttondependencyobject:buttondependencyobject.buttontapsound="{binding elementname=tapsound}" ... /> 

this works @ design time , run time.

however if define inside control template this:

<controltemplate x:name="tapsound" targettype="button">       <button buttondependencyobject:buttondependencyobject.buttontapsound="{binding elementname=tapsound}" ...  />  </controltemplate> 

it works @ runtime not in visual studio designer

due lack of further source code can refer implemenation guidelines of msdn dependency properties.

create seperate class sound button derives button e.g "soundbutton" , register property getter , setter.

class soundbutton : button {     public uri buttontapsound     {         { return (uri)getvalue(buttontapsoundproperty); }         set { setvalue(buttontapsoundproperty, value); }     }      public static readonly dependencyproperty buttontapsoundproperty =         dependencyproperty.register("buttontapsound", typeof(uri), typeof(soundbutton), new propertymetadata(default(uri), new propertychangedcallback(onurichanged)));      private static void onurichanged(dependencyobject d, dependencypropertychangedeventargs e)     {        //your code     } } 

then can use in code is, without registering dependecy property in xaml:

 <local:soundbutton buttontapsound="{binding elementname=tapsound}"></local:soundbutton> 

this may not done in style, should solve designer issues.


Comments