我的WPF UserControl
构造函数中有一些代码,但它似乎没有在设计时执行。
我确定后面的代码应该在设计时运行,并且StackOverflow上有大量的示例代码,显示人们使用支持这种情况的设计时检查。
我甚至尝试过连接调试器,断点也不会受到影响。
答案 0 :(得分:2)
我想我已经在very old 2007 article on the WPF Designer(当时称为'苹果酒')中找到了答案。这是重要的一点:
当您为特定控件编写代码时,后面的代码 可能会或可能不会在设计时运行。
如果后面的代码位于托管控件的构造函数中 通过Cider设计器中的父级,它将在该控件运行时运行 加载到设计表面上。例如,如果我创建一个 UserControl名为MyUserControl并将其放在Window上 加载该窗口时将运行MyUserControl的构造函数 在苹果酒。
但是,如果我在Cider中设计MyUserControl,因为那种类型 正在被修改和创建,我们没有实例化 MyUserControl - 这反过来意味着没有任何代码 将运行MyUserControl。
为了验证这一点,我创建了一个新的UserControl1.xaml
,并使用代码隐藏在我的控件实例中,并且代码隐藏在设计时按预期运行。