Feb 14, 2010

Classes generated from XAML (in WPF) are public by default

In Windows Presentation Foundation, classes generated from XAML markup have public visibility by default. Why not internal (like interfaces)? I don't want my application GUI private classes to be visible from the outside of its assembly. More over, it is not possible to alter that default in language-neutral way. One need to use x:ClassModifier attribute in XAML root element to change class visibility specifying language-dependent value (internal for C#, Friend for VB).

Links on the topic:
- Nice post about that problem
- MSDN article on x:ClassModifier
- Microsoft Connect ticket on that problem