这是一个非常直截了当的问题。
我在WPF项目中有我的主窗口,我希望它打开一个具有依赖属性的特定窗口。现在第一次围绕它并没有抱怨它。但是后续尝试打开窗口会给我一个关于已经注册的依赖属性的错误,并且它无法再次注册它。
我尝试将窗口保持为全局变量,但是在尝试重新打开已关闭的窗口时出现了明显的错误。
那么我需要做些什么才能重新打开窗口,而不是因为它试图重新注册属性而停在我的轨道上?
我的主要MO是每次需要打开时重新创建窗口(标准对话框/窗口程序)。
我注册了这样的属性:
public partial class MessageAndWaitingWindow : Window
{
public DependencyProperty CustomMessageProperty =
DependencyProperty.Register("CustomMessage", typeof(string), typeof(MessageAndWaitingWindow));
public DependencyProperty WaitingProperty =
DependencyProperty.Register("Waiting", typeof(string), typeof(MessageAndWaitingWindow));
public DependencyProperty WaitingPanelVisibilityProperty =
DependencyProperty.Register("WaitingPanelVisibility", typeof(Visibility), typeof(MessageAndWaitingWindow));
// Rest of the class.
}
答案 0 :(得分:2)
听起来你正在错误的地方注册你的依赖属性。即。不是静态的。没有代码,人们只能猜测。
答案 1 :(得分:1)
听起来像是在实例构造函数中注册DependencyProperty
或者将DependencyProperty
声明为非静态。
确保将DependencyProperty
字段定义为静态,并将其注册到静态构造函数中或将其注册为内联。