C# 散点视图项目方向和主要表面设备。倾斜
我正在与WPF一起使用Visual C#2010 Express为Microsoft Surface table开发一个应用程序,我一生都找不到这个问题的简单解决方案 当使用“散射视图”控件而不为“散射视图”项目设置自定义模板时,该控件会以随机方向和位置将新的“散射视图”项目投射到屏幕上。这个,我喜欢 我在一个垂直屏幕上开发我的程序,在这个屏幕上,散点视图项目是随机抛出的,除了它们大多是直立的,而且从不朝上向下抛出。我想说的是,控件知道屏幕是垂直的,可以防止项目开始时颠倒 然而,当我将程序转移到带有水平屏幕的设备上时,这些项目现在被随机抛出,并且通常与原始应用程序方向相反。同样散射视图控件正在读取InteractiveSurface.PrimarySurfaceDevice.Tilt(或类似的内容)并进行补偿。 如何让它停止这样做? 我只希望我的项目继续出现在散点视图中,就好像屏幕是垂直的一样。我能欺骗ScatterView使其认为它仍然是垂直的吗?我可以关闭此功能吗?我希望避免为ScatterViewItems制作自己的模板C# 散点视图项目方向和主要表面设备。倾斜,c#,wpf,pixelsense,scatterview,C#,Wpf,Pixelsense,Scatterview,我正在与WPF一起使用Visual C#2010 Express为Microsoft Surface table开发一个应用程序,我一生都找不到这个问题的简单解决方案 当使用“散射视图”控件而不为“散射视图”项目设置自定义模板时,该控件会以随机方向和位置将新的“散射视图”项目投射到屏幕上。这个,我喜欢 我在一个垂直屏幕上开发我的程序,在这个屏幕上,散点视图项目是随机抛出的,除了它们大多是直立的,而且从不朝上向下抛出。我想说的是,控件知道屏幕是垂直的,可以防止项目开始时颠倒 然而,当我将程序转移到
谢谢 将每个项目的方向属性设置为0。随机性只有在您没有明确设置值时才会发生。如果没有人能够解释ScatterView如何知道屏幕倾斜角度,以及如何更改,那么唯一的解决方案就是生成您自己的随机性。作为参考,我以前是这样做的:
ScatterViewItem item = new ScatterViewItem();
item.Content = image;
Random rand = new Random();
item.Orientation = RandOrientation(-20, 20);
item.Center = RandCenter(50);
SSScatter.Items.Add(item);
private Point RandCenter(int pad)
{
int randx = rand.Next(pad, (int)SSScatter.Width-pad);
int randy = rand.Next(pad, (int)SSScatter.Height-pad);
return new Point(randx, randy);
}
private int RandOrientation(int low, int up)
{
int randor = rand.Next(low, up);
return randor;
}
我仍然希望有办法欺骗ScatterView…谢谢,但我正在尝试保持随机方向(或伪随机方向,因为它们在垂直屏幕上仍然保持垂直)。我想我可以做我自己的随机方向生成器,但肯定有更好的方法。你必须做你自己的随机…+/-15度就好了