2012-11-15 20 views
7

Ich habe ein userControl, das einen Timer startet. Es sieht so aus, als ob der XAML-Designer versucht, diesen Code aufzurufen, der auf einige Datenbank-Back-End-Daten verweist. Ich erhalte immer wieder einen Ausnahmefehler im Design-Bildschirm.WPF-Benutzersteuerelement löst Entwurfszeitausnahme aus

Irgendwelche Ideen, wie ich den Designer stoppen kann, um den Code auszuführen?

Antwort

11

Der XAML-Designer ruft den Konstruktor des UserControls beim Laden im Designer auf. Um dies zu vermeiden, können Sie in Ihrem UserControl-Konstruktor eine if-Bedingung wie folgt setzen:

if (System.ComponentModel.DesignMode) return;

+1

genial, danke! – Jay

+0

also DAS ist, wie Sie es tun ... – Pyritie

+5

Sie können auch auf diese Weise überprüfen, wenn (! System.ComponenyModel.DesignProperties.GetIsInDesignMode (this)) {// Konstruktor Code hier schreiben
} –

Verwandte Themen