I have a such custom function:
MyCopy := DynamicModule[{from, to},
Print@Grid[{{FileNameSetter[Dynamic[from], "Directory"],
Dynamic[from]}, {FileNameSetter[Dynamic[to], "Directory"],
Dynamic[to]}}, Alignment -> {Left}];
Column[{Dynamic[from], Dynamic[to]}]]
Why my Column[{Dynamic[from], Dynamic[to]}]] doesn't work?
Column[{Dynamic[from], Dynamic[to]}]]will change too. – yode Dec 22 '16 at 14:51DynamicModuleis a "rectangle on a screen", by usingPrintyou are throwing stuff away from that rectangle before the scoping procedure is finished. You can combine Grid and Column with another Column. Or you canPrintfromInitializationbut you need to addDynamicModule[{}, Grid..., InheritScope -> True]. – Kuba Dec 22 '16 at 14:53MyCopy1 := DynamicModule[{f}, DynamicModule[{from, to}, Print@{FileNameSetter[Dynamic[from], "Directory"], f = Dynamic[from]}; Dynamic[f]]],the lastDynamic[f]will take effect.But I don't know,whyMyCopy2:=DynamicModule[{f},DynamicModule[{from,to},Print@{FileNameSetter[Dynamic[from],"Directory"],f=Dynamic[from]}; FileNames["*",Dynamic[f]]]]will don't work still,confusing very much. – yode Dec 22 '16 at 23:02