当在打开的对话框中执行保存命令时,父index.view不会更新。对于SaveAndClose命令,一切正常。在https://github.com/alex-kukhtin/A2v10.Web.Sample.git上对Product对象进行了测试。平台A2v10,不幸的是我还不能标记。
<Dialog xmlns="clr-namespace:A2v10.Xaml;assembly=A2v10.Xaml"
Title="{Bind Product.Id, Format='@[Product] [{0}]'}">
<Dialog.Buttons>
<Button Content="@[SaveAndClose]" Command="{BindCmd SaveAndClose, ValidRequired=True}"/>
<Button Content="@[Save]" Command="{BindCmd Save, ValidRequired=True}"/>
<Button Content="@[Cancel]" Command="{BindCmd Close}"/>
</Dialog.Buttons>
<TabPanel>
<Tab Header="@[General]">
<Grid>
<TextBox Label="@[Name]" Value="{Bind Product.Name}"/>
<TextBox Label="@[BarCode]" Value="{Bind Product.BarCode}" Width="20rem"/>
<TextBox Label="@[Article]" Value="{Bind Product.Article}" Width="20rem"/>
<TextBox Label="@[Memo]" Value="{Bind Product.Memo}" Multiline="True" Rows="3"/>
</Grid>
</Tab>
<Tab Header="@[Images]" Padding="1rem">
<Image Source="{Bind Product.Picture}" Limit="100"
Base="/catalog/product" Height="18rem"/>
</Tab>
</TabPanel>
</Dialog>
PS:由编辑命令调用
I try: executing the Save command in an open dialog
I expecting: The parent index.view is update
1条答案
按热度按时间4urapxun1#
此行为是故意的。
更新取决于对话框的调用方式。
如果调用了Edit命令,则索引会在对话框返回SaveAndClose命令后更新编辑元素。
保存命令不关闭对话框,因此调用代码不进行控制。
解决此问题的最简单方法是使用事件。
指定在保存元素时,要引发事件并在索引中捕获该事件。
比如这样一个例子:
在索引.模板.ts内
最后但并非最不重要的一点。如果你使用事件,用Show命令调用对话框,而不是用Edit命令。这将避免不必要的更新。