Wpf命中测试相当不错,但我发现扩展命中区域的唯一方法是在对象周围放置一个透明的填充区域.我找不到任何方法来添加一个Path对象的透明区域.路径非常薄,如果用户在路径附近点击,我想启用命中测试.我找不到任何方法来扩展路径对象的透明区域,如下图所示: alt text http://img175.imageshack.us/img175/6741/linepadding.png
我尝试使用部分透明的笔刷,但我遇到了这里描述的问题:如何在WPF中绘制"软"线(可能使用LinearGradientBrush)?
我也尝试在我的线上放置一个装饰,但由于WPF抗锯齿算法,当我放大我的画布并干扰其他对象以糟糕的方式进行测试时,位置就会偏离.
任何扩展命中测试区的建议都将受到高度赞赏.
谢谢Kumar
以下函数在下拉菜单中获取目标元素:
function getTarget(evt){
var targetElement = null;
//if it is a standard browser
if (typeof evt.target != 'undefined'){
targetElement = evt.target;
}
//otherwise it is IE then adapt syntax
else{
targetElement = evt.srcElement;
}
//return id of <li> element when hovering over <li> or <a>
if (targetElement.nodeName.toLowerCase() == 'li'){
return targetElement;
}
else if (targetElement.parentNode.nodeName.toLowerCase() == 'li'){
return targetElement.parentNode;
}
else{
return targetElement;
}
Run Code Online (Sandbox Code Playgroud)
毋庸置疑,它适用于Firefox,Chrome,Safari和Opera,但它不适用于IE8(我猜在以前的版本中也是如此).当我尝试使用IE8调试它时,我收到错误"未找到成员":
targetElement = evt.srcElement;
Run Code Online (Sandbox Code Playgroud)
以及其他后续错误,但我认为这是关键路线.任何帮助将不胜感激.
抱歉,由于某种原因格式化不正确.
这是功能了
function getTarget(evt){
var targetElement = null;
//if it is …Run Code Online (Sandbox Code Playgroud) 我有一个PathWPF,我想得到这条道路的单点.这有点可能吗?(我使用了WPF内置的PathSegment,我想得到WPF计算的点数)
谢谢你的提示!
我有一个创建临时表的客户端应用程序,在临时表中执行批量插入,然后在删除之前使用该表执行一些SQL.
伪代码:
open connection
begin transaction
CREATE TABLE #Temp ([Id] int NOT NULL)
bulk insert 500 rows into #Temp
UPDATE [OtherTable] SET [Status]=0 WHERE [Id] IN (SELECT [Id] FROM #Temp) AND [Group]=1
DELETE FROM #Temp WHERE [Id] IN (SELECT [Id] FROM [OtherTable] WHERE [Group]=1)
INSERT INTO [OtherTable] ([Group], [Id]) SELECT 1 as [Group], [DocIden] FROM #Temp
DROP TABLE #Temp
COMMIT TRANSACTION
CLOSE CONNECTION
Run Code Online (Sandbox Code Playgroud)
这在DROP语句上出错时失败:
无法删除表'#Temp',因为它不存在或您没有权限.
我无法想象如果没有其他事情首先发生这种失败是如何发生的,但在此之前我没有看到任何其他失败.
我有什么遗失可能会导致这种情况发生吗?
我在C中有一个小任务.我正在尝试创建一个指向结构的指针数组.我的问题是如何将每个指针初始化为NULL?此外,在为数组成员分配内存后,我无法为数组元素指向的结构赋值.
#include <stdio.h>
#include <stdlib.h>
typedef struct list_node list_node_t;
struct list_node
{
char *key;
int value;
list_node_t *next;
};
int main()
{
list_node_t *ptr = (list_node_t*) malloc(sizeof(list_node_t));
ptr->key = "Hello There";
ptr->value = 1;
ptr->next = NULL;
// Above works fine
// Below is erroneous
list_node_t **array[10] = {NULL};
*array[0] = (list_node_t*) malloc(sizeof(list_node_t));
array[0]->key = "Hello world!"; //request for member ‘key’ in something not a structure or union
array[0]->value = 22; //request for member ‘value’ in something not a structure …Run Code Online (Sandbox Code Playgroud) 我开始搞乱EF 4.0因为我对POCO的可能性感到好奇......我想模拟断开连接的web环境并编写以下代码来模拟这个:
问题是当我在上面的Test方法中调用dataContext.SaveChanges时,不会应用更新.当我检查其EntityStateTracker时,testStore实体显示状态为"已修改",但当我在新的dataContext的Stores属性中查看它时,它不再被修改.我原本以为在new dataContext上调用Attach方法也会使对象的"Modified"状态结束,但事实并非如此.有什么我想念的吗?我肯定使用DynamicProxies进行自我跟踪POCO.
private static void SaveTestStore(string storeName = "TestStore")
{
using (var context = new DataContext())
{
Store newStore = context.Stores.CreateObject();
newStore.Name = storeName;
context.Stores.AddObject(newStore);
context.SaveChanges();
}
}
private static Store GetStore(string storeName = "TestStore")
{
using (var context = new DataContext())
{
return (from store in context.Stores
where store.Name == storeName
select store).SingleOrDefault();
}
}
[Test]
public void Test_Store_Update_Using_Different_DataContext()
{
SaveTestStore();
Store testStore = GetStore();
testStore.Name = "Updated";
using (var dataContext = …Run Code Online (Sandbox Code Playgroud) 我正在使用VS2010 Beta 2创建一个全新的母版页,我收到此警告(这会导致我在内容页面中出错):
验证(XHTML 1.0 Transitional):在'script'或'asp:content'区域之外不支持内容.
母版页的代码:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Bob.master.cs" Inherits="TShirtFactory.Web.All.Core.lib.masterpage.Bob" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如您所见,它是默认的母版页生成代码.当我将标签悬停在顶部时,我收到警告.有没有人知道发生了什么?
谢谢
在我们的应用程序中,我们使用具有Guid值的属性创建Xml文件.该值必须在文件升级之间保持一致.因此,即使文件中的其他内容发生更改,该属性的guid值也应保持不变.
一个显而易见的解决方案是创建一个静态字典,其中包含文件名和用于它们的Guids.然后每当我们生成文件时,我们都会在字典中查找文件名并使用相应的guid.但这不可行,因为我们可能会扩展到100个文件并且不想保留大量的guid.
所以另一种方法是根据文件的路径使Guid相同.由于我们的文件路径和应用程序目录结构是唯一的,因此Guid对于该路径应该是唯一的.因此,每次我们运行升级时,文件都会根据其路径获得相同的guid.我找到了一种很酷的方法来产生这样的' 确定性指导 '(感谢Elton Stoneman).它基本上是这样的:
private Guid GetDeterministicGuid(string input)
{
//use MD5 hash to get a 16-byte hash of the string:
MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider();
byte[] inputBytes = Encoding.Default.GetBytes(input);
byte[] hashBytes = provider.ComputeHash(inputBytes);
//generate a guid from the hash:
Guid hashGuid = new Guid(hashBytes);
return hashGuid;
}
Run Code Online (Sandbox Code Playgroud)
所以给定一个字符串,Guid将始终是相同的.
有没有其他方法或建议的方法来做到这一点?该方法的优点或缺点是什么?
从终端窗口:
当我使用该rm命令时,它只能删除文件.
当我使用该rmdir命令时,它只删除空文件夹.
如果我有一个目录与文件夹中的文件和文件夹嵌套,等等,有没有办法删除所有的文件和文件夹而没有所有的命令输入?
如果它有所作为,我使用终端的mac bash shell,而不是Microsoft DOS或linux.
我有一个文件,其中包含如下所示的数字列表:
10^-92
2 10^-14
10^-105
3 10^-20
Run Code Online (Sandbox Code Playgroud)
为了解释远一点10^-92基本上是1E-92和2 10^-14是2E^-14.有没有一种紧凑的方法将上述文件中的数字转换为Perl号码?最后,我想用数字对这些数字进行排序.
wpf ×2
.net ×1
.net-4.0 ×1
asp.net ×1
c ×1
c# ×1
canvas ×1
directory ×1
events ×1
file ×1
guid ×1
hit ×1
javascript ×1
malloc ×1
master-pages ×1
null ×1
numbers ×1
path ×1
perl ×1
poco ×1
pointers ×1
rm ×1
rmdir ×1
sql-drop ×1
sql-server ×1
structure ×1
temp-tables ×1
terminal ×1
testing ×1
uuid ×1