Ok mi sto ammalando di questo problema.Errore di progettazione WPF Riferimento dell'oggetto non impostato su un'istanza di un oggetto
Sto cercando di rendere UserControl dove posso popolare il suo contenuto da XAML. In precedenza ho creato ObservableCollection DependencyProperty. Sta funzionando in fase di esecuzione ma in fase di progettazione si è verificato un errore:
Riferimento oggetto non impostato su un'istanza di un oggetto.
Ora ho fatto la versione più semplice:
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; }
}
}
Questo è come mi piace usare la mia 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>
Tuttavia ancora mi dà l'errore in fase di progettazione:
Riferimento oggetto non impostato su un'istanza di un oggetto.
Quindi se qualcuno può aiutarmi per favore.
Come posso rendere UserControl che posso utilizzare come controlli nativi che posso popolare con la raccolta di elementi? Sto cercando di trovare la risposta già il secondo giorno.
Hai provato a chiamare 'InitializeComponent(); 'prima? – Ofiris