2010-08-02 4 views
2

En C# normal, si je veux étendre ma classe, j'hérite de la base et j'ajoute ma classe. J'ai un UserControl XAML, je veux ajouter une nouvelle fonctionnalité. Par exemple, j'ai un DataGrid, et je veux ajouter un menu contextuel qui permet à l'utilisateur d'imprimer.étendre un contrôle

Je ne vois pas comment devrais-je hériter de l'usercontrol?

grâce Jon

Répondre

2

Dans le code derrière (ChildControl.xaml.cs), il vous suffit d'étendre la classe comme vous le feriez dans WinForms.

Puis en XAML:

<local:BaseClassName 
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" 
xmlns:local="clr-namespace:YourNamespaceName" 
mc:Ignorable="d" 
x:Class="ChildControlClassName" 
x:Name="ChildControlName" 
d:DesignWidth="640" 
d:DesignHeight="480" 
> 
    ...control XAML 
</local:BaseClassName> 

Dans votre exemple woth le DataGrid, vous devez ajouter le DataGrid dans le XAML de contrôle, et définissez sa propriété ContextMenu.