我正在使用 Infragistics XamDockManager 来处理我的应用程序中的停靠和取消停靠面板。我定义了一个窗口,它使用 DockManager 来指定几个不同的窗格。我在 Window.Resources 中定义了几个 DataTemplate,以便在绑定到我的一个类时可以正确显示数据。
当所有窗格都停靠在应用程序中时,一切正常;但是,当我取消停靠一个窗格并且它处于浮动状态时,它就不能很好地工作了。如果数据已经被查看,那么它仍然可以正确显示,但是如果您通过添加到列表或选择不同的项目来更改数据,则不会根据 DataTemplate 呈现新信息。相反,它显示得好像我没有数据模板一样;它只显示完整的类名。
我发现在窗格取消停靠时应用 DataTemplates 的唯一方法是在资源部分中为每个单独的窗格指定数据模板,或者在 App.Xaml 资源部分中指定它们以使其适用于整个应用。不幸的是,我不希望将相同的模板应用于整个应用程序,因此后一个选项实际上不起作用。我已将 DataTemplates 放入他们自己的 ResourceDictionary 中,因此我可以从每个窗格中引用它,但是必须在每个我想使用它们的地方重述我想要使用的资源仍然非常令人讨厌。我认为将数据模板放在 Window.Resources 中应该会将它们应用于该文件中定义的所有其他 XAML。
有谁知道解决这个问题的方法?