Ok Tôi đang bị bệnh về vấn đề này.Lỗi thời gian thiết kế WPF Tham chiếu đối tượng không được đặt thành một thể hiện của một đối tượng
Tôi đang cố gắng tạo UserControl nơi tôi có thể điền nội dung của nó từ XAML. Trước đây tôi đã tạo ObservableCollection DependencyProperty. Nó hoạt động trong thời gian chạy nhưng tại thời điểm thiết kế đã xảy ra lỗi:
Tham chiếu đối tượng không được đặt thành phiên bản của đối tượng.
Bây giờ tôi đã làm phiên bản đơn giản:
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; }
}
}
Đây là cách tôi thích sử dụng UserControll tôi
<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>
Tuy nhiên nó vẫn mang lại cho tôi lỗi tại thời gian thiết kế:
Tham chiếu đối tượng không đặt thành một thể hiện của một đối tượng.
Vì vậy, nếu có ai có thể giúp tôi.
Làm cách nào để tôi có thể tạo UserControl mà tôi có thể sử dụng như các điều khiển gốc mà tôi có thể điền bằng tập hợp các phần tử? Tôi đang cố gắng tìm câu trả lời vào ngày thứ hai.
Cậu cố gắng gọi 'InitializeComponent(); 'đầu tiên? – Ofiris