eli*_*264 5 .net c# wpf user-interface controls
在这种情况下,我有一个Grid,里面有很多控件,按钮,画布,绘图,动画,都绑定到视图模型,我想禁用所有dataTriggers,触发器,其子项内的绑定和子项的子项等.,当我将Grid的可见性设置为折叠时,所以它不会浪费CPU周期,(因为重型动画持续运行),而不是崩溃!
我正在使用一种行为:http://www.microsoft.com/design/toolbox/tutorials/pathlistbox/carousel.aspx
但它似乎有一个错误,如果列表框在使用时崩溃,它会使应用程序崩溃,所以我需要禁用激活行为的数据绑定,
从我发现:Visibility = IsCollapsed跳过数据绑定部分?
因此,唯一的方法是将所有内容放在controltemplate中:
<ContentControl Visibility="Collapsed">
<ContentControl.Template>
<Grid Name="Heavy Animation control">
<!--- animations, triggers, bindings , -->
</Grid>
</ContentControl.Template>
Run Code Online (Sandbox Code Playgroud)
因此,以这种方式,模板将不会应用,并且在切换可见性之前一切都将关闭.
所以我的问题是:这是解决这个问题的正确方法吗?
是的。由于 ContentControl 已折叠,因此在将可见性更改为可见之前,不会应用模板。
但是,我有兴趣了解您的网格是如何设置的,以及您是否可以将其进一步分解,以便按钮、画布、绘图、动画等仅在需要时进行初始化。
归档时间: |
|
查看次数: |
437 次 |
最近记录: |