By default, if you write xaml code, the visibility of the class that you wrote is public. While sometime you want to make the class that generated by XAML to be non-public, situation like the class that you wrote extends from an internal interface and you the code will stop to compile if you don't have the x:ClassModifier directive.
On book "WPF 4 Unleased", x:ClassModifer among other directives are names so called XAML keywords.
x:ClassModifier directive is only applicable on the root element where the x:Class attribute is applying..
the official document on the x:ClassModifier is available on this page : x:ClassModifier Directive;
let me show you some code on how to use it.
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" BorderThickness="0" x:Class="Previews.PrintPreviewView" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" MinWidth="700" MinHeight="500" Background="#FFEBEBEB" x:ClassModifier="internal" > </UserControl>
internal partial class PrintPreviewView : IPrintControlView { ... }