我编写了一个 WPF UserControl(我们称之为 ContainerUserControl),在它内部使用了我从另一个项目构建的其他 UserControl(我们称之为 OstUserControl)。在 ContainerUserControl 中,我有一个 RibbonGroup 托管一堆 RibbonButtons。如果用户单击相应的 RibbonButton,OtsUserControl 可以响应用户鼠标单击内部的切换按钮并运行相同的代码。
然而奇怪的是:如果我单击 RibbonButton(位于 OtsUserControl 的边界之外),OtsUserControl 的边界周围会闪烁;如果我单击 OtsUserControl 内的切换按钮并且不将鼠标移到 OtsUserControl 外,则不会闪烁;如果我单击 OtsUserControl 内的切换按钮并将鼠标移到 OtsUserControl 外,则会出现闪烁。
我该如何解决这个闪烁的问题?
顺便说一句,通过 RibbonButton 调用它的代码通过 MVVM Light 的 RelayCommand 机制。
我还在 SkyDrive 上共享了一个文件。当您运行示例应用程序时,在加载 MainWindow 后,单击带有文件夹图标的树节点之一,然后像在 Windows 资源管理器中一样单击展开器按钮。你不会看到任何闪烁。但是,如果您选择相同的节点并单击工具栏上的 Toggle Expand 按钮,您将看到 usercontrol 边框闪烁。
要查看它,请单击下面的链接。 显示闪烁问题的示例 VS 2012 项目