- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 WPF 中遇到了一个奇怪的行为。尽管有很多方法可以避免这个问题,但我试图更好地理解为什么会发生这种情况:
我创建了一个新的 WPF 应用程序,只是添加了一个带有 ContextMenu
的按钮:
<Grid>
<Button x:Name="btnTest" Margin="10,10,10,10"
MouseEnter="BtnTest_OnMouseEnter" MouseLeave="BtnTest_OnMouseLeave">
<Button.ContextMenu>
<ContextMenu x:Name="myContext">
<TextBlock Text="Context Menu Text"></TextBlock>
</ContextMenu>
</Button.ContextMenu>
</Button>
</Grid>
在后面的代码中,我使用 MouseEnter
显示 ContextMenu 并使用 MouseLeave
隐藏它:
private void BtnTest_OnMouseEnter(object sender, MouseEventArgs e)
{
myContext.PlacementTarget = btnTest;
myContext.Placement = PlacementMode.Bottom;
myContext.IsOpen = true;
}
private void BtnTest_OnMouseLeave(object sender, MouseEventArgs e)
{
myContext.IsOpen = false;
}
现在 - 当鼠标位于按钮上时,我在按钮下方看到了 ContextMenu
,当鼠标离开按钮时它隐藏了。
但是当我点击按钮时出现异常
An unhandled exception of type 'System.StackOverflowException' occurred in WindowsBase.dll
问题是 - 为什么鼠标点击,特别是触发这个异常?我没有在 Click 事件上运行我的任何代码,但没有单击不会发生异常...
顺便说一句:例如,如果我用 Image
替换 Button 也会发生同样的情况,所以它似乎不是由特定控件引起的...
最佳答案
像这样更改您的 XAML:
<Grid>
<Popup x:Name="myContext">
<TextBlock Text="Context Menu Text"></TextBlock>
</Popup>
<Button x:Name="btnTest" Margin="10,10,10,10"
MouseEnter="BtnTest_OnMouseEnter" MouseLeave="BtnTest_OnMouseLeave">
</Button>
</Grid>
我认为您的代码中存在此类循环:
如果您设置 ContextMenu 的“StaysOpen”属性会怎样?如果您以后不再有这种行为,我的怀疑是正确的。
关于c# - 尝试显示 ContextMenu 并单击其父项时发生 StackOverflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13901923/
有人可以给我一个想法,例如将高度从0添加时动画化,并在移除时返回0动画化? 最佳答案 添加动画时很容易,只需将Animated中的componentDidMount与listRow一起使用,例如: c
我目前有一个包含 3 个选项卡的 tabview。 1 选项卡加载 ActivityGroup,然后加载 listview。我有这个,所以我可以加载不同的 Activity 并查看并仍然显示选项卡。当
此正则表达式 /({{(?!{*textdata.*)#\s*.[\w\.]+\.*}})/gm在 chrome 上使用正则表达式只给我两个匹配项(期望 4)。当我在 http://www.regex
我一直在尝试从头开发一个简单的 Accordion ,但这个问题让我无法这样做。 我正在尝试实现一种效果,您可以在其中展开元素,内容弹出,加号图标变成目标 Accordion 元素的减号 - 至此一切
当用户点击 tabbaritem 进入 uitabbarcontroller 来改变某些东西时,我需要检索..这是我的代码: - (void)tabBar:(UITabBar *)tabBar did
我尝试使用 kv_t 存储一些数据但没有成功。我也尝试过例子forum.c & kv.c。当尝试创建第二个论坛线程时,forum.c 挂起,而 kv.c 崩溃。 当我向 kv 添加 1 个项目时,kv
我正在为 map 构建一个主题选择器,并希望反射(reflect)当前选择的主题。 该代码似乎有效,但从不返回“li”项目的值,它总是为我单击的任何“li”项目返回“s-thumbs”。我尝试使用 .
我正在浏览 Go 并想了解以下内容: package main import "fmt" func main() { s := []int{2, 3, 5, 7, 11, 13} pr
我正在使用 VS2013、.net4.5、WPF 桌面应用程序。 Xaml: CS: this
我正在尝试创建一个搜索抛出 ListView 项目的 Activity 。我创建了一个 switch与 case Category其中 Category是 main 中的一项 ,但是当我单击该项目时,
我是一名优秀的程序员,十分优秀!