基本上,我有一个8000px到8000px的应用程序.我们可以放大以查看特定部分,例如收音机,或者我们可以缩小以查看所有内容.
汽车的每个部件都是一个控制器,我们可以用手指操作,双触摸或多点触控显示器.
我的问题是:对于操作控件,例如音量按钮,用户需要像现实生活中一样移动鼠标,因此使用圆形运动.使用鼠标,一切都很完美,它可以毫不拖延地立即响应.我使用OnMouseLeftButtonDown,OnMouseMove等.通过触摸,计算机似乎很难获得触摸位置并且存在巨大的延迟,尤其是当用户同时用2个手指移动2个不同的按钮时.我使用OnTouchDown,OnTouchMove等...
鼠标和触摸之间的唯一区别是当我们需要获取位置时,使用鼠标:(e是MouseButtonEventArgs)
Point currentPosition = e.GetPosition(this);
Run Code Online (Sandbox Code Playgroud)
使用Touch我使用:(e是TouchEventArgs)
Point currentPosition = e.GetTouchPoint(this).Position;
Run Code Online (Sandbox Code Playgroud)
在此之后的一切都是一样的.
我不知道是不是因为我在我的应用程序中有太多的控制权(超过5000我们可以操作,但当我们只放大2控制它是同样的事情)或因为它真的很难让计算机得到触摸事件的位置....
有人可以帮我弄这个吗?我需要找到一个消除滞后的解决方案.
我在NEC 2490WUXi2屏幕上使用Visual Studio 2010,Blend 4,.NET 4.0 Windows 7 64位7 Gb RAM Xeon 2.13 Ghz,2核,8线程屏幕:ELO技术
为了优化我的应用程序,我创建了一个SharedResourceDictionary.有了这个,我在运行时节省了大约250 MB的内存,所以它运行良好.
我的问题出在设计时,在Blend 4中,我无法访问我的资源.要修改模板(女巫在我的资源文件中),我通常右键单击我的控件,然后选择编辑模板 - >编辑当前,如下图所示:

我需要修改我的模板,它比我的资源文件快100倍,找到好的...我有很多资源......
我的SharedResourceDictionary是这样实现的(在网上找到):
public class SharedResourceDictionary : ResourceDictionary
{
/// <summary>
/// Internal cache of loaded dictionaries
/// </summary>
public static Dictionary<Uri, ResourceDictionary> _sharedDictionaries =
new Dictionary<Uri, ResourceDictionary>();
/// <summary>
/// Local member of the source uri
/// </summary>
private Uri _sourceUri;
/// <summary>
/// Gets or sets the uniform resource identifier (URI) to load resources from.
/// </summary>
public new Uri Source
{
get
{
if (IsInDesignMode)
return base.Source;
return _sourceUri;
}
set
{ …Run Code Online (Sandbox Code Playgroud) 我已经列出了所有可以帮助改善具有大量控件的非常复杂的应用程序中的性能的列表.如果你想加你的,欢迎你!
我使用的工具:
我一直试图在文本区域添加类似Facebook @tagged Friend name的内容.我一直在使用jquery ui auto-complete来完成这项工作,它工作得很好,除了我想要一些符号如@或〜来启动标签,我无法弄清楚如何.有人有想法吗?我正在像Facebook一样将它用于多个朋友标签.
任何人都知道如何在msvc2010下编译这个示例代码?(据说在海湾合作委员会下编制)
class cmdLine;
struct cmdList
{
const char *c;
const char *s;
const char *h;
void (cmdLine::*cmdFuncPtr)();
};
class cmdLine
{
public:
cmdLine();
static cmdList myCmdList[];
void test();
};
cmdLine::cmdLine()
{
}
void cmdLine::test()
{
}
cmdList cmdLine::myCmdList[] =
{
{"xxx", "yyy", "zzzzz", &cmdLine::test},
{"aaa", "bbb", "ccc", 0}
};
int _tmain(int argc, _TCHAR* argv[])
{
cmdLine c;
(c.myCmdList[0].*cmdFuncPtr) (); //error (why?)
}
Run Code Online (Sandbox Code Playgroud)
我得到错误C2065:'cmdFuncPtr':未声明的标识符,不知道什么是错的?