Ok, me estoy hartando de este problema.WPF error de tiempo de diseño Referencia de objeto no establecida en una instancia de un objeto
Estoy tratando de hacer UserControl donde puedo poblar su contenido de XAML. Anteriormente creé ObservableCollection DependencyProperty. Funcionaba en tiempo de ejecución, pero en el momento del diseño había un error:
Referencia de objeto no establecida en una instancia de un objeto.
Ahora me hicieron versión más simple:
public partial class UC : UserControl
{
public UC()
{
Labels = new ObservableCollection<Label>();
InitializeComponent();
Labels.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(Labels_CollectionChanged);
}
void Labels_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
foreach (Label uc in e.NewItems)
Container.Children.Add(uc);
}
private ObservableCollection<Label> _lables = new ObservableCollection<Label>();
public ObservableCollection<Label> Labels
{
get { return _lables; }
set { _lables = value; }
}
}
Así es como me gusta usar mi UserControll
<Window x:Class="WpfApplication1.MainWindow"
xmlns:gsh="clr-namespace:WpfApplication1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid Margin="0,0,0,30">
<gsh:UC x:Name="uC1">
<gsh:UC.Labels>
<Label Content="qwerty1" />
<Label Content="qwerty2" />
</gsh:UC.Labels>
</gsh:UC>
</Grid>
Sin embargo, todavía me da el error en tiempo de diseño:
Referencia de objeto no establecer a una instancia de un objeto.
Así que si alguien me puede ayudar, por favor.
¿Cómo puedo hacer UserControl que puedo usar como controles nativos que puedo completar con la colección de elementos? Estoy tratando de encontrar la respuesta el segundo día ya.
¿trató de llamar 'InitializeComponent(); 'primero? – Ofiris