Herdando de uma subclasse abstrata UserControl
-
05-07-2019 - |
Pergunta
Eu tenho um conjunto de UserControls que precisam ter algumas propriedades semelhantes. Assim que tiver definido um subclasse abstrata de UserControl que define essas propriedades e atualizados os .xaml.cs e .g.cs arquivos para herdar desta classe base. Todos os compila bem e funciona bem. Ótimo! Mas .... arquivos .g.cs são gerados e será regenerado, assim como faço para dizer Mistura ou Visual Studio para manter herança de minha classe base, em vez de UserControl?
Solução
Você precisa mudar o XAML um pouco para prefixar a declaração UserControl com um espaço de nomes:
<local:MyBaseControl x:Class="MyNameSpace.MyControl"
xmlns:local="clr-namespace:MyNameSpace"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- Content -->
</local:MyBaseControl>
Onde MyNamespace é o seu namespace (duh!), MyBaseControl é a sua classe base e MyControl é o seu controle que herda de MyBaseControl. O x: Class parte não precisa estar no mesmo namespace, eu só mantiveram o mesmo para o exemplo
.