El siguiente XAML (a continuación) define una colección personalizada en los recursos e intenta llenarla con un objeto personalizado;¿Cómo resuelvo el error de WPF Designer 'El tipo {0} no admite el contenido directo'. '?
<UserControl x:Class="ImageListView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="300" Height="300"
xmlns:local="clr-namespace:MyControls" >
<UserControl.Resources>
<local:MyCustomCollection x:Key="MyKey">
<local:MyCustomItem>
</local:MyCustomItem>
</local:MyCustomCollection>
</UserControl.Resources>
</UserControl>
El problema es que me da un error en el diseñador de 'El tipo 'MyCustomCollection' no soporta el contenido directo'. Intenté configurar ContentProperty como se recomienda en MSDN, pero no puedo imaginarme cómo configurarlo. El objeto de colección personalizado que uso está debajo y es muy simple. Probé Item, Items y MyCustomItem y no puedo pensar qué más probar.
<ContentProperty("WhatGoesHere?")> _
Public Class MyCustomCollection
Inherits ObservableCollection(Of MyCustomItem)
End Class
Cualquier pista sobre dónde estoy yendo mal sería gratamente recibida. También sugiere cómo profundizar en el modelo de objetos de WPF para ver qué propiedades están expuestas en el tiempo de ejecución, y también podría descubrirlo de esa manera.
Saludos
Ryan
Se ve bien, pero una pregunta acerca de su setter allí. ¿No agregaría eso continuamente a la colección y causaría una excepción? Además, ¿por qué IList y no ObservableCollection? Gracias –
No, agregará solo la cantidad de elementos que tenga en la variable de valor entrante, y esos son los valores que define en XAML. Y es IList, porque ese es el tipo de propiedad de Artículos. Recuerde, el contenedor es para la propiedad Artículos, no para toda la clase. –
Boyan
Gracias, eso es un excelente consejo. Muy apreciado. –