Make a XAML file internal in .NET

.NetWpfSilverlightXaml

.Net Problem Overview


In my Silverlight project, I would like to make an assembly which contains .xaml that can't be seen from outside of the assembly. However, there is no clear way I can do this. When I modify the access modifier on the .xaml.cs file, the compiler tells me:

Partial declarations of "My xaml class here" have conflicting accessibility modifiers	

In the xaml file itself, there doesn't seem to be a place to put my access modifier. In short, how do I set the class associated with my xaml file to internal?

.Net Solutions


Solution 1 - .Net

You need to add a x:ClassModifier="internal" in the UserControl tag of the XAML file if you change the visibility of the class in the .cs file to internal.

The file generated from the XAML file (e.g. MyControl.g.cs) needs to match the code-behind file (e.g. MyControl.cs). x:ClassModifier allows you to control the visibility of the part declaration in the MyControl.g.cs file.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser64349View Question on Stackoverflow
Solution 1 - .NetchuckjView Answer on Stackoverflow