在这种情况下,我有一个包含许多控件的网格,按钮、画布、绘图、动画等都绑定到视图模型上。当我将网格的可见性设置为折叠时,我想禁用其子元素及其子元素的所有dataTrigger、trigger和binding,以便不浪费CPU周期(因为有一个繁重的动画一直在运行),也不会崩溃!
我正在使用一个行为:http://www.microsoft.com/design/toolbox/tutorials/pathlistbox/carousel.aspx,但似乎存在一个bug,即在使用列表框时,如果将其折叠,则会导致应用程序崩溃。因此,我需要禁用激活行为的数据绑定。
从我所找到的信息: Does Visibility = IsCollapsed skip the data-binding part?
我正在使用一个行为:http://www.microsoft.com/design/toolbox/tutorials/pathlistbox/carousel.aspx,但似乎存在一个bug,即在使用列表框时,如果将其折叠,则会导致应用程序崩溃。因此,我需要禁用激活行为的数据绑定。
从我所找到的信息: Does Visibility = IsCollapsed skip the data-binding part?
- 您的控件模板不会被应用
<ContentControl Visibility="Collapsed">
<ContentControl.Template>
<Grid Name="Heavy Animation control">
<!--- animations, triggers, bindings , -->
</Grid>
</ContentControl.Template>
所以这样做模板将不会被应用,直到我切换可见性,所有内容都将变得不对。
我的问题是:这是否是解决这个问题的正确方法?
DataContext
更改为未被更新的内容? - Peter Ritchie