DynamicWrapper[e,expr]
表示一个显示为 e 的对象,但是无论何时,只要该对象在屏幕上可见时,就动态更新表达式 expr.
DynamicWrapper
DynamicWrapper[e,expr]
表示一个显示为 e 的对象,但是无论何时,只要该对象在屏幕上可见时,就动态更新表达式 expr.
更多信息和选项
- 所显示的 e 不作为动态处理,虽然它可以包含显式的 Dynamic 表达式.
- 表达式 expr 在任何位置都不显示.
- DynamicWrapper 具有属性 HoldRest.
- DynamicWrapper 采用和 Dynamic 相同的选项.
-
BaseStyle {} 所显示的对象的基本样式指定 Deinitialization None 当 Dynamic 不能再显示时,计算的表达式 Evaluator Automatic 用于计算的核 Initialization None Dynamic 首次被显示时进行计算的表达式 ShrinkingDelay 0. 如果被显示对象缩小,在缩小前延迟多长时间 SynchronousUpdating True 是否对内容进行同步计算 TrackedSymbols All 符号变化触发更新 UpdateInterval Infinity 进行更新的时间间隔
所有选项的列表
范例
打开所有单元 关闭所有单元基本范例 (1)
范围 (3)
控制 Dynamic 中的计算的相同结构可用于 DynamicWrapper 中:
DynamicWrapper["clock", time = Refresh[SessionTime[], UpdateInterval -> 1]]Dynamic[time]第一个变量可以包含一个 Dynamic,它可能与 DynamicWrapper 计算交互作用:
DynamicWrapper[Slider[Dynamic[x]], If[x ≥ 0.5, x = 0.5]]与 Dynamic 不同,DynamicWrapper 不能作为控件的一个变量使用:
Slider[DynamicWrapper[1, x]]属性和关系 (3)
使用 Dynamic,如果没有显示的话,DynamicWrapper 不会计算其内容:
x = 0;DynamicWrapper["abc", x++];Dynamic[x]Dynamic 中的 CompoundExpression 可用于计算多个表达式:
Clear[x];Dynamic[x = 1;x]当按下
,DynamicWrapper 却是求解第一个参数:
Clear[y];DynamicWrapper[y, y = 1]Initialization 设置只有在 Dynamic 创建时的一次性计算:
DynamicModule[{x = 0}, Dynamic[x], Initialization :> Refresh[x = RandomReal[], UpdateInterval -> 1]]DynamicWrapper 设置可能重复发生的计算:
DynamicModule[{x = 0}, DynamicWrapper[Dynamic[x], Refresh[x = RandomReal[], UpdateInterval -> 1]]]可能存在的问题 (1)
DynamicWrapper 只有当显示时才更新计算:
Clear[x, y];
TabView[{"{x,y}" -> Dynamic[{x, y}], "Assign x" -> DynamicWrapper["Assigning x", x = 0], "Assign y" -> DynamicWrapper["Assigning y", y = 0]}, ImageSize -> {100, 80}]相关指南
-
▪
- 动态交互式语言
文本
Wolfram Research (2010),DynamicWrapper,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DynamicWrapper.html.
CMS
Wolfram 语言. 2010. "DynamicWrapper." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/DynamicWrapper.html.
APA
Wolfram 语言. (2010). DynamicWrapper. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DynamicWrapper.html 年
BibTeX
@misc{reference.wolfram_2026_dynamicwrapper, author="Wolfram Research", title="{DynamicWrapper}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/DynamicWrapper.html}", note=[Accessed: 10-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_dynamicwrapper, organization={Wolfram Research}, title={DynamicWrapper}, year={2010}, url={https://reference.wolfram.com/language/ref/DynamicWrapper.html}, note=[Accessed: 10-September-2026]}