2010-10-20 30 views
5

Tôi đã phát triển một số userControl có chứa một số thông tin kiểm tra về phương pháp 'IsVisible' (phương pháp ghi đè).Làm cách nào để kiểm tra xem tôi có đang chạy trong thời gian hoặc thiết kế không?

Khi tôi sử dụng điều khiển người dùng này trên một số cửa sổ - tôi thấy một số lỗi vì phương pháp 'IsVisible' tìm một số biến được đặt vào thời gian chạy.

Làm cách nào để kiểm tra xem tôi có đang trong thời gian thiết kế và hệ thống không hoạt động không?

Cảm ơn sự giúp đỡ.

Trả lời

9

DesignerProperties.GetIsInDesignMode(this); Điều này sẽ trả về true nếu bạn đang ở trong thời gian thiết kế.

+2

Có lỗi trong câu trả lời này: bạn có thể muốn gọi DesignerProperties.GetIsInDesignMode (d) có thể tìm thấy trong System.ComponentModel. Lưu ý rằng d phải là một UIElement. DesignerProperty này là thuộc tính đính kèm. – GameAlchemist

0
public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) 
      Console.WriteLine("The main window is in design mode."); 
    } 
} 

Câu trả lời khác là đúng về mặt kỹ thuật nhưng tôi cung cấp câu trả lời này để làm rõ không gian tên và cách sử dụng.

+0

Đây không phải là bất khả xâm phạm, mặc dù nó phải là 'GetIsInDesignMode'. –

+0

@ChristianIvicevic Rất tiếc, cảm ơn bạn đã chỉ ra điều đó! Đã sửa. – Jake

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