.g.cs
dosyasını değiştiremezsiniz, aslında dosyada bu kadar doğru yazıyor. Ayrıca, "özel kontrol" terimini kullanmak talihsiz bir durumdur, çünkü bu, ne yapmaya çalıştığınızı değil, belirli bir şey anlamına gelir. Ama iyi haber şu ki, yapmaya çalıştığınız şey mümkün. UserControl
den
Derive:
public class FancyUserControl : UserControl
{
// Your added common functionality.
}
ve daha sonra normal mekanizmasını kullanarak projenize yeni UserControl
eklemek en UserControl1
diyelim.
<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>
uygulamanıza ayarlayarak, onlara local
ile üç satır özel dikkat şöyledir: Sonra UserControl.xaml
dosyaları düzenlemek.
public partial class UserControl1 : FancyUserControl
{
public UserControl1()
{
InitializeComponent();
}
}
ve Visual Studio henüz oldukça mutlu olmayacak ama sonunda projenizi yeniden inşa etmek ve her şey iyi olacak: Sonra şöyle UserControl1.xaml.cs
dosyasını düzenlemek.
UserControl1
sınıfı, UserControl
yerine FancyUserControl
türetilmiştir ve ortak işlevlerinizi eklemeye başlayabilirsiniz. Daha fazla kontrol eklemek için, her yeni kontrolü projeye ilk kez ekledikten sonra XAML ve kod arkaplanı el ile düzenlemeniz gerekir.
Çok eksiksiz bir yanıt için teşekkürler (ve .gs dosyalarını düzenlememeniz gerektiğini anlıyorum, ama soruyu cevaplayana kadar ihtiyaç duyduğum işlevselliği elde etmenin tek yolu buydu)! – badpanda
+1 İyi yapılandırılmış bir cevap. – AnthonyWJones