para imagen emplea atributo .net silverlight silverlight-2.0

.net - imagen - XamlParseException: ¡Atributo en el control personalizado que falta, pero está definido!



atributo title de la imagen (4)

A veces obtengo la siguiente excepción para un control personalizado mío:

XamlParseException occurred Unknown attribute Points in element SectionClickableArea [Line: 10 Position 16]

El rastro de la pila:

{System.Windows.Markup.XamlParseException: Unknown attribute Points on element SectionClickableArea. [Line: 10 Position: 16] at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator) at SomeMainDialog.InitializeComponent() at SomeMainDialog..ctor()}

La declaración del elemento donde ocurre esto tiene el siguiente aspecto (el controlador de eventos al que se hace referencia aquí está definido, por supuesto):

<l:SectionClickableArea x:Name="SomeButton" Points="528,350, 508,265, 520,195, 515,190, 517,165, 530,120, 555,75, 570,61, 580,60, 600,66, 615,80, 617,335, 588,395, 550,385, 540,390, 525,393, 520,385" Click="SomeButton_Click"/>

Esto es parte del código de SectionClickableArea :

public partial class SectionClickableArea : Button { public static readonly DependencyProperty PointsProperty = DependencyProperty.Register("Points", typeof(PointCollection), typeof(SectionClickableArea), new PropertyMetadata((s, e) => { SectionClickableArea area = (SectionClickableArea) s; area.areaInfo.Points = (PointCollection) e.NewValue; area.UpdateLabelPosition(); })); public PointCollection Points { get { return (PointCollection) GetValue(PointsProperty); } set { SetValue(PointsProperty, value); } }

Uso este control para algo así como un botón en forma de polígono. Por lo tanto estoy heredando del botón. He tenido problemas similares ( E_AG_BAD_PROPERTY_VALUE en otra DependencyProperty de tipo cadena, de acuerdo con la línea y la columna dada, etc.) con este control durante semanas, pero no tengo ni idea por qué.

Otra excepción para el mismo control ocurrió esta mañana para otro usuario (tomada de un registro y traducida del alemán):

Type: System.InvalidCastException Message: The object of type System.Windows.Controls.ContentControl could not be converted to type [...]SectionClickableArea. at SomeOtherMainDialog.InitializeComponent() at SomeOtherMainDialog..ctor()

Excepción interna:

Type: System.Exception Message: An HRESULT E_FAIL error was returned when calling COM component at MS.Internal.XcpImports.CheckHResult(UInt32 hr) at MS.Internal.XcpImports.SetValue(INativeCoreTypeWrapper obj, DependencyProperty property, DependencyObject doh) at MS.Internal.XcpImports.SetValue(INativeCoreTypeWrapper doh, DependencyProperty property, Object obj) at System.Windows.DependencyObject.SetObjectValueToCore(DependencyProperty dp, Object value) at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet, Boolean isSetByStyle, Boolean isSetByBuiltInStyle) at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value) at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) at System.Windows.Controls.Control.set_DefaultStyleKey(Object value) at System.Windows.Controls.ContentControl..ctor() at System.Windows.CoreTypes.GetCoreWrapper(Int32 typeId) at MS.Internal.ManagedPeerTable.EnsureManagedPeer(IntPtr unmanagedPointer, Int32 typeIndex, Type type, Boolean preserveManagedObjectReference) at MS.Internal.ManagedPeerTable.EnsureManagedPeer(IntPtr unmanagedPointer, Int32 typeIndex, Type type) at MS.Internal.ManagedPeerTable.GetManagedPeer(IntPtr nativeObject) at MS.Internal.FrameworkCallbacks.SetPropertyAttribute(IntPtr nativeTarget, String attrName, String attrValue, String attachedDPOwnerNamespace, String attachedDPOwnerAssembly)

¿Alguna idea de qué pasa con el control, o qué puedo hacer para encontrar el origen de estas excepciones? Como dije, estos problemas ocurren solo cada pocas docenas de veces que se crea una instancia del control.


También me he encontrado con este problema. No tengo una buena explicación para eso (parece ser el error de análisis de XAML), pero lo solucioné agregando el siguiente código a XAML:

<UserControl.Resources> <customNamespace:InheritedControl x:Name="dummyInstance"/> </UserControl.Resources>


Yo tuve el mismo problema. En mi caso, el error fue en uno de los miembros. Se lanzó una excepción al constructor de miembros.
Lo resolví poniendo breakpoint antes del método InitializeComponent () y en el modo de depuración presioné F11 para ingresar y encontré el error.
Espero que esto ayude
Gracias.


Creo que estamos viendo el mismo problema. Acabo de recibir la excepción invalidcast con más frecuencia. Cuando, a través de comentarios ciegos de cosas, puedo suprimir el invalidcast, a veces obtengo el error de atributo que falta para un atributo que, de hecho, está allí. ¿Has encontrado una solución?

Por cierto: la forma más fácil de reproducirlo es simplemente cargar la aplicación ofensiva y presionar repetidamente F5 para actualizar la página. Lo obtendrás eventualmente.

También he visto una InvalidOperationException intermitente que pasa por DependencyObject.get_NativeObject ().

vea mi pregunta aquí: Intervalos InavlidCastException en un UserControl.InitializeComponent ()

Vea mi informe de error silverlight.net aquí: http://silverlight.net/forums/t/67732.aspx


No soy un experto en XAML, pero ¿te falta un espacio de nombres en Puntos (por ejemplo, l: Puntos)?