2012-11-15 30 views
7

Tôi có một userControl khởi động bộ hẹn giờ. Có vẻ như nhà thiết kế XAML đang cố gắng gọi mã đó, liên kết đến một số công cụ cơ sở dữ liệu phía sau. Tôi tiếp tục nhận được lỗi ngoại lệ chưa được xử lý trong màn hình thiết kế.Điều khiển người dùng WPF ném ngoại lệ thời gian thiết kế

Bất kỳ ý tưởng nào về cách tôi có thể ngăn nhà thiết kế cố gắng chạy mã?

Trả lời

11

Trình thiết kế XAML sẽ gọi hàm tạo của UserControl khi tải trong trình thiết kế. Để tránh điều này, bạn có thể đặt điều kiện if như sau trong phương thức khởi tạo UserControl

nếu (System.ComponentModel.DesignMode) trả về;

+1

tuyệt vời, cảm ơn! – Jay

+0

Vì vậy, đó là cách bạn làm điều đó ... – Pyritie

+5

Bạn cũng có thể kiểm tra theo cách này Nếu (! System.ComponenyModel.DesignProperties.GetIsInDesignMode (this)) {// viết hàm tạo mã tại đây
} –

Các vấn đề liên quan