我正在开发使用Silverlight 5,我有很多ChildWindows的丰富的用户界面。 子窗口具有某种被绑定命令按钮。 我意识到,如果子窗口调用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到执行信息的消息框简单的命令。 尝试与右上角的关闭按钮关闭子窗口。 在动画快速度点击一个按钮。 你会看到该消息。
编辑:我已删除关闭动画,并以另一种方式解决了这个问题。 对于那些谁想要动漫原创问题仍然相同。