Вы не можете изменить файл .g.cs
, на самом деле это так прямо в файле.Кроме того, неудачно использовать термин «пользовательский контроль», поскольку это означает что-то конкретное, а не то, что вы пытаетесь сделать.Но хорошая новость заключается в том, что то, что вы пытаетесь сделать, возможно.
Получите от UserControl
:
public class FancyUserControl : UserControl
{
// Your added common functionality.
}
, а затем добавьте новый UserControl
в свой проект, используянормальный механизм, скажем UserControl1
.Затем отредактируйте файлы UserControl.xaml
следующим образом:
<local:FancyUserControl x:Class="SilverlightApplication1.UserControl1"
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:SilverlightApplication1"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
</Grid>
</local:FancyUserControl>
, уделив особое внимание трем строкам с local
в них, адаптируясь к вашему приложению.Затем отредактируйте файл UserControl1.xaml.cs
следующим образом:
public partial class UserControl1 : FancyUserControl
{
public UserControl1()
{
InitializeComponent();
}
}
и Visual Studio пока не будет довольна, но, наконец, перестройте ваш проект, и все будет хорошо.
Класс UserControl1
теперь является производным от FancyUserControl
вместо UserControl
, и вы можете начать добавлять свои обычные функции.Чтобы добавить дополнительные элементы управления, вам нужно будет вручную отредактировать XAML и выделенный код один раз после первоначального добавления каждого нового элемента управления в проект.