Расширить контроль
В обычном C#, если я хочу расширить свой класс, я наследую от базового и добавляю свой класс. У меня есть XAML UserControl, я хочу добавить новую функциональность. Например, у меня есть DataGrid, и я хочу добавить Contextmenu, которое позволяет пользователю печатать.
Я не совсем понимаю, как я должен наследовать от usercontrol?
спасибо Джон
1 ответ
В коде (ChildControl.xaml.cs) вы просто расширяете класс, как в WinForms.
Тогда в 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>
В вашем примере с DataGrid вы должны добавить DataGrid в элемент управления XAML и установить его свойство ContextMenu.