Pregunta

Tengo un conjunto de UserControls que necesitan tener algunas propiedades similares. Por lo tanto, he definido una subclase abstracta de UserControl que define estas propiedades y actualicé los archivos .xaml.cs y .g.cs para heredar de esta clase base. Todo se compila bien y funciona bien. ¡Excelente! Pero .... los archivos .g.cs se generan y se regenerarán, entonces, ¿cómo le digo a Blend o Visual Studio que sigan heredando de mi clase base en lugar de UserControl?

¿Fue útil?

Solución

Debe cambiar un poco el XAML para anteponer la declaración de UserControl con un espacio de nombres:

<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>

Donde MyNameSpace es su espacio de nombres (¡duh!), MyBaseControl es su clase base y MyControl es su control que hereda de MyBaseControl. La parte x: Class no necesita estar en el mismo espacio de nombres, solo la he mantenido igual para el ejemplo.

Más información aquí y aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top