【发布时间】:2015-07-07 21:27:43
【问题描述】:
在WPF Cascading Binding 的第一个问题之后,
我注意到我在 MainWindow 和 UserControls 中定义了比预期更多的资源:
这在 Snoop
中很常见- MainWindow XAML 有一个 MainWindow ViewModel 的“实例”,它用 green 和 blue 绘制 2 个用户控件
- 另外还有 2 个用户控件视图模型实例用于 2 个用户控件中的每一个,它们会将内圈绘制为 红色
- 我在 Usercontrol 中的第一个意图是能够“live”看到我的控件的外观(我将它涂成红色以区分这个“模型”和主窗口中的绿色和蓝色圆圈)
- 我的资源创建起来非常便宜,所以不管我的应用程序中是否还有 2 个额外的资源,但我预计我的资源会更昂贵。 .
最后我的问题是:
如何有条件地让资源在“低级”控件中创建(以便我可以在控件视图中预览)但在运行完整应用程序时阻止此创建(或主窗口的视图),因为我将绑定到这个上层的资源。
非常感谢。
最好的问候。
NGI
【问题讨论】:
-
设计时一个项目,运行时一个项目?
-
@Maximus:只有在设计时,在设计此 UserControl 的外观和感觉时才需要 UserControl 资源(圆圈为红色)。在 MainWindow 的设计期间或应用程序运行期间,MainWindow 资源会强加其数据(绿色和蓝色 2 个圆圈),从而浪费 UserControl 资源
-
@Maximus:嗨,我发现我认为这是一种更简单的方法来解决我在运行完整应用程序时在子控件中浪费视图模型资源的问题。告诉我你对解决方案的看法。
标签: c# wpf binding datacontext resourcedictionary