Pregunta

Estoy trabajando en una aplicación Metro usando XAML & C#. Comencé esto usando WPF en Win7. Creé una clase base, heredando desde UserControl, luego intenté ponerla en mi XAML.

En Windows 7, esto funcionó muy bien:

<MyType:AnImplementation
 ...
 xmlns:MyType="clr-namespace:MyAppNamespace"
/>

Intenté lo mismo en Win8, pero desafortunadamente, recibo errores,

<MyType:AnImplementation
 ...
 xmlns:MyType="using:MyAppNamespace"
/>

Ahora produce esto: la tarea compilexaml falló inesperadamente. Luego una excepción de referencia nula.

No soy un genio de WPF, así que puede estar haciendo esto completamente mal, recientemente comencé a meterme en él, pero tengo problemas para aislar este problema. ¿Es esto algún tipo de problema de pollo/huevo, o hay una forma diferente de crear controles de usuario personalizados en Win8 XAML?

editar: Pensé que podría ser útil ser más claro. No tengo problemas para crear controles de usuario, tengo problemas para crear usercontrolos que son de mi propio tipo base, que hereda de UserControl. Por ejemplo:

Una clase base, llamaremos a MyBasetype, que hereda de UserControl y tiene algunos métodos virtuales:

public class MyBaseType : UserControl
{
    public MyBaseType() : base() {}
}

Un nuevo UserControl, llamado Actiontile:

public partial class ActionTile : MyBaseType {}

Cuando puse esto en mi XAML:

<myType:MyBaseType
    ... (other XAML imports)
    xmlns:myType="using:MyNamespace"/>

El compilador explota.

Si desea replicar, cree una clase base que herede desde UserControl, luego implementa un control que hereda de la clase base e intente crear un nuevo UserControl de ese nuevo tipo. Como dije, funciona bien en WPF en Windows 7.

No hay solución correcta

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