1

我正在使用 Silverlight 5 开发丰富的用户界面。我有很多 ChildWindows。子窗口有一些与命令绑定的按钮。我意识到如果调用 Child Window Close 方法,关闭动画就会开始。但是在动画期间用户可以点击任何按钮,这会导致意外情况。为了防止这种情况,我需要在关闭请求时立即取消绑定所有按钮。我不喜欢把这个逻辑放在任何地方。你有更好的解决方案吗?

<Grid x:Name="LayoutRoot" DataContext="{StaticResource ResourceKey=viewModel}">
    <StackPanel>
        <TextBlock Text="{Binding ConfirmMessage}" HorizontalAlignment="Center" Margin="5"/>
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
            <Button Width="120" Height="30" Content="Yes" Margin="5" Command="{Binding ConfirmedCommand}"/>
            <Button Width="120" Height="30" Content="No" Margin="5" Command="{Binding RejectedCommand}"/>
        </StackPanel>
    </StackPanel>
</Grid>

为了澄清,使用具有上述内容的简单子窗口。并将 ConfirmedCommand 和 RejectedCommand 绑定到执行信息消息框的简单命令。尝试使用右上角的关闭按钮关闭子窗口。在动画期间快速单击其中一个按钮。您将看到该消息。

编辑:我已经删除了关闭动画,它以另一种方式解决了这个问题。对于那些想要动画原始问题的人来说仍然是一样的。

4

0 回答 0