小编Dee*_*tan的帖子

MouseDoubleClick事件不会冒泡

我的场景,简化:我有一个包含Employees行的ListView,在每个Employee行中,有一些按钮"Increase"和"Decrease"调整他的工资.

假设在我的程序中,双击Employee行意味着"解雇此人".

问题是,当我点击"增加"迅速,这将触发对ListViewItem的双击事件.当然,当我只是增加薪水时,我不想解雇员工.

根据所有其他事件的工作原理,我希望能够通过设置Handled=true事件来解决这个问题.但是,这不起作用.在我看来,WPF生成两个独立的,完全未链接的双击事件.

以下是重现我的问题的最小示例.可见组件:

<ListView>
    <ListViewItem MouseDoubleClick="ListViewItem_MouseDoubleClick">
            <Button MouseDoubleClick="Button_MouseDoubleClick"/>
    </ListViewItem>
</ListView>
Run Code Online (Sandbox Code Playgroud)

和处理程序代码:

private void Button_MouseDoubleClick(object s, MouseButtonEventArgs e) {
    if (!e.Handled) MessageBox.Show("Button got unhandled doubleclick.");
    e.Handled = true;
}

private void ListViewItem_MouseDoubleClick(object s, MouseButtonEventArgs e) {
    if (!e.Handled) MessageBox.Show("ListViewItem got unhandled doubleclick.");
    e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)

启动此程序并双击列出的按钮后,两个消息框按顺序显示.(此外,此后按钮会卡在向下位置.)

作为一个"修复",我可以在ListViewItem处理程序上检查附加到事件的可视树,并检查"那里有一个按钮",从而丢弃事件,但这是最后的手段.我想在编码这样一个kludge之前至少理解这个问题.

有谁知道为什么 WPF会这样做,以及一种优雅的惯用方法来避免这个问题?

c# wpf mouseevent routed-events

18
推荐指数
2
解决办法
8171
查看次数

将经度纬度转换为米

我需要一个将gps位置映射到x/y值的函数,如下所示:

getXYpos(GeoPoint relativeNullPoint, GeoPoint p){
   deltaLatitude=p.latitude-relativeNullPoint.latitude;
   deltaLongitude=p.longitude-relativeNullPoint.longitude;
   ...
   resultX=latitude (or west to east) distance in meters from p to relativeNullPoint
   resultY=longitude (or south to north) distance in meters from p to relativeNullPoint
}
Run Code Online (Sandbox Code Playgroud)

我已经看到了"两个geoPoints距离"的一些实现,但它们都只计算了空中线距离.我认为deltaLongitude可以直接转换为米,但deltaLatitude取决于经度.有谁知道如何解决这个问题?

mapping latitude-longitude coordinates

8
推荐指数
1
解决办法
2万
查看次数

Mercurial中的版本控制扩展配置

通常,我会通过添加以下内容来启用扩展.hg/hgrc:

[extensions]
hgext.win32text=
[encode]
** = cleverencode:
[decode]
** = cleverdecode:
Run Code Online (Sandbox Code Playgroud)

但是,我希望对此配置进行版本控制,即存储库的一部分,以便为其他任何人(同事,构建计算机)克隆存储库启用它.请注意,不应要求克隆存储库的任何人不需要执行任何操作来启用这些扩展.

它似乎不可能从文档中,但有没有人知道任何可以帮助我在这里的巧妙技巧?

version-control configuration mercurial dvcs mercurial-extension

7
推荐指数
2
解决办法
655
查看次数

如何以编程方式更改我的Windows域密码?

换句话说,如何更改我的密码而不通过" Ctrl+ Alt+ Del- > 更改密码 "界面.

通过编程方式我的意思是通过命令行工具,C#通过.NET库,通过Python进行COM调用,......无论什么都不涉及任何手动步骤,真的.

NET USER命令不合格,因为它要求我以域管理员权限运行.

windows passwords dns

7
推荐指数
2
解决办法
4544
查看次数

列表到树函数的渐近运行时

我有一个merge函数需要花费时间O(log n)将两个树组合成一个,并且一个listToTree函数将元素的初始列表转换为单个树,并merge在每个连续的树对上重复调用,直到只剩下一个树.

功能签名和相关实现如下:

merge :: Tree a -> Tree a -> Tree a --// O(log n) where n is size of input trees
singleton :: a -> Tree a            --// O(1)
empty :: Tree a                     --// O(1)
listToTree :: [a] -> Tree a         --// Supposedly O(n)

listToTree = listToTreeR . (map singleton)

listToTreeR :: [Tree a] -> Tree a
listToTreeR []     = empty
listToTreeR (x:[]) = x
listToTreeR xs     = listToTreeR (mergePairs …
Run Code Online (Sandbox Code Playgroud)

time complexity-theory big-o haskell

6
推荐指数
1
解决办法
571
查看次数

如何将子文件夹中的Magento安装路径指向主域名

我已将Magento 1.7.0.2安装到mydomain.com/mag

(mydomain - 是我托管帐户的主要注册域名)(mag - 是任何子文件夹)

由于我的网站处于测试模式,如果出现任何问题,我只需删除"mag"文件夹,它也不会覆盖public_html下的任何文件.

但是,如果我直接安装到root直接public_html,那么它可能会覆盖几个文件或文件夹,如果我想恢复任何时间,那么我不能手动这样做.

因为在magento安装之前我甚至不知道public_html下的确切文件夹和文件默认结构.

(我错误地做了一次,那发生了)

现在在前端,站点URL将是mydomain.com/mag

但我想,如果客户输入http://www.mydomain.com,他们将能够看到LIVE网站而不是输入http://www.mydomain.com/mag

我怎么做

此外,这对于SEO部分是否可行.

我们是否需要在Magento后端执行此操作.或者我们是否需要通过设置子域类型来托管公司或通过告诉简单脚本安装将安装文件夹从mydomain.com/mag更改为www.mydomain.com

请建议我该怎么做.

问候

magento subdirectory installation-path

6
推荐指数
1
解决办法
2万
查看次数

按像素数量调整图像大小

我试图找出答案,但我做不到.

例如,图像241x76总共有18,316 pixels (241 * 76).调整大小规则是,像素数量无法通过10,000.那么,我怎样才能让新尺寸保持纵横比并且小于10,000像素?

algorithm

1
推荐指数
1
解决办法
1481
查看次数