在尝试使用SDK对ChildWindow控件进行样式设计时,我遇到了几个主要问题。
第一期:
ChildWindow不采用隐式样式。我理解为什么,这是因为实际的子窗口总是一个派生类。
我知道我可以只使用显式样式,这是我目前的解决方案,但是还有其他方法可以解决这个问题,这样我就不需要显式地用相同的样式标记所有子窗口了吗?
第二期:
我们使用的是Prism 4,我在一个模块中有一个子窗口实例,它由Prism基础结构动态加载。它获取显式子窗口样式,但它没有选择在shell的App.xaml中定义的任何其他隐式样式(例如TextBox控件模板)。
这似乎只是动态模块内部的一个问题,它适用于基于shell的窗口。知道为什么会发生这种事吗?我能做些什么来解决这个问题?
发布于 2011-06-26 22:54:36
事实证明,Prism并不是问题所在--在子窗口中定义了隐式样式,因为它们没有使用BasedOn,所以会从shell中删除隐式样式。添加了这个属性之后,现在一切都正常了。
发布于 2011-06-24 01:55:18
对于您的第一个问题,您是以ChildWindow为目标来设计派生的问题吗?如果是这样的话,您需要为TargetType指定派生类型,以便嵌入样式可以启动。
至于第二个问题,我不能100%确定如何解决这个问题,但我们发现,如果在主窗口的资源中声明隐式样式,它将应用于驻留在外部模块中的控件。但我认为这并不适用于明确的风格.
https://stackoverflow.com/questions/6462473
复制相似问题