`

wpf - x:ClassModifier directive to change the default visibility of the class

    博客分类:
  • WPF
wpf 
阅读更多

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>
 

the visibility of the class should be consistent, so you will have the following code in the code-behind definition.

internal partial class PrintPreviewView : IPrintControlView
{
...
}
 


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics