home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 2
Skins and Design
WiP: Adding design time support for MPF-XAML
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="morpheus_xx" data-source="post: 1111457" data-attributes="member: 48495"><p>Up to now, if you open the MP2 skin files (screens, styles) inside a design tool (VisualStudio, Blend), the used elements are not known. This leads to underlining the control names and the lack of autocomplete (intellisense) feature.</p><p></p><p>Fortunately I found an solution for this issue: <a href="http://msdn.microsoft.com/en-us/library/ms747086%28v=vs.110%29.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/ms747086(v=vs.110).aspx</a>.</p><p></p><p>It is possible to make own class implementations known to the xaml world! MPF already uses an own namespace, but the control types etc. are not yet published correctly. </p><p></p><p>First step is to map CLR namespace to our MPF XAML-namespace:</p><p>[CODE=C#]// Register CLR namespaces for XAML</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.ScreenManagement")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Commands")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Animations")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Panels")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Transforms")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Brushes")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Brushes.Animation")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Visuals")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Visuals.Styles")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Visuals.Templates")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Visuals.Triggers")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.MpfElements.Resources")]</p><p>[assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.MarkupExtensions")]</p><p>[/CODE]</p><p>This makes already all attributes visible to VS:</p><p>[ATTACH=full]157925[/ATTACH] </p><p></p><p>Next is to declare some properties as default for adding content via XAML:</p><p>[CODE=C#] /// <summary></p><p> /// Screen class respresenting a logical screen represented by a particular skin.</p><p> /// </summary></p><p> [ContentProperty("Root")]</p><p> public class Screen : UIElement, INameScope, IAddChild<FrameworkElement>, IUnmodifiableResource</p><p> {</p><p> #region Consts[/CODE]</p><p></p><p>I currently add more attributes to MPF classes, so that in the end we will have (nearly complete?) designer support for MPF!!! Yeah, finally!</p><p></p><p>This is useful for both [USERGROUP=39]@Developers[/USERGROUP] and [USERGROUP=38]@Designers[/USERGROUP]</p></blockquote><p></p>
[QUOTE="morpheus_xx, post: 1111457, member: 48495"] Up to now, if you open the MP2 skin files (screens, styles) inside a design tool (VisualStudio, Blend), the used elements are not known. This leads to underlining the control names and the lack of autocomplete (intellisense) feature. Fortunately I found an solution for this issue: [url]http://msdn.microsoft.com/en-us/library/ms747086%28v=vs.110%29.aspx[/url]. It is possible to make own class implementations known to the xaml world! MPF already uses an own namespace, but the control types etc. are not yet published correctly. First step is to map CLR namespace to our MPF XAML-namespace: [CODE=C#]// Register CLR namespaces for XAML [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.ScreenManagement")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Commands")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Animations")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Panels")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Transforms")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Brushes")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Brushes.Animation")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Visuals")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Visuals.Styles")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Visuals.Templates")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.Controls.Visuals.Triggers")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.MpfElements.Resources")] [assembly: XmlnsDefinition("www.team-mediaportal.com/2008/mpf/directx", "MediaPortal.UI.SkinEngine.MarkupExtensions")] [/CODE] This makes already all attributes visible to VS: [ATTACH=full]157925[/ATTACH] Next is to declare some properties as default for adding content via XAML: [CODE=C#] /// <summary> /// Screen class respresenting a logical screen represented by a particular skin. /// </summary> [ContentProperty("Root")] public class Screen : UIElement, INameScope, IAddChild<FrameworkElement>, IUnmodifiableResource { #region Consts[/CODE] I currently add more attributes to MPF classes, so that in the end we will have (nearly complete?) designer support for MPF!!! Yeah, finally! This is useful for both [USERGROUP=39]@Developers[/USERGROUP] and [USERGROUP=38]@Designers[/USERGROUP] [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 2
Skins and Design
WiP: Adding design time support for MPF-XAML
Contact us
RSS
Top
Bottom