1

当我在鼠标驱动的设备上测试我的应用程序时,我看到了一些我想尝试解决的奇怪的突出问题。

第一次发生在我调用应用栏时,将鼠标悬停在按钮上(此时按钮变为灰色),然后按 Escape 关闭应用栏。如果我然后再次调用应用栏,按钮将保持灰色,即使鼠标不在它上面,并保持该状态,直到我将鼠标移到它上面然后再次离开。

突出显示的按钮

当应用栏被关闭时,我无法立即看到可以重置以清除该状态的按钮属性。

我看到的另一个奇怪之处是,有时页面列表中的第一项会在其周围绘制一个框:

列表项周围有框

这似乎发生在应用栏被关闭时。我猜这是因为该项目处于导致框出现的特定状态,但我不确定是什么状态或如何清除它。在正常使用我的应用程序期间不会出现该框。

感谢您提供的任何澄清或解决方案。

4

3 回答 3

1

所以,问题是VisualStateforButton被设置为PointedOver,然后没有被取消设置(因为你的鼠标没有离开控件的边界,因此触发了一个PointerExited事件)。这意味着如果您希望以这种方式更改,您必须手动设置VisualStateButton你可以在AppBar's 的Closed活动中做到这一点。Children基本上,对using 的所有Content属性进行递归检查。检查是否是. 如果是,请将其设置为using 。AppBarVisualTreeHelperChildButtonVisualStateVisualStateManager.GoToState()

于 2013-07-07T20:06:34.223 回答
1

我找到了一种解决此问题的简单方法。Visibility在按钮的 Clicked/Tapped 集的代码中:

CreateNewDatabase.Visibility = Visibility.Collapsed;
CreateNewDatabase.Visibility = Visibility.Visible;

它将按钮状态重置为正常。希望这可以帮助!

于 2013-07-18T10:17:21.167 回答
0

我还弄清楚了导致按钮周围出现黑框的原因 - 它表明该按钮具有焦点。

相当奇怪的是,我不确定为什么那个特定的按钮会获得焦点,或者用户应该如何将焦点放在一个按钮上而不是随机发生,所以,直到我弄明白,我决定发表评论从默认 GridView 项样式中使用的 Visual Manager XAML 中排除焦点状态支持。

于 2013-07-29T14:08:14.057 回答