C#XNA鼠标位置投影到3D平面

我正在研究一个3D XNA项目,我一直在考虑这个问题2周。 所以我决定问你。 基本上我有一个平面平面,我想将鼠标位置投射到那个平面,但是怎么样? 我尝试了很多方法,计算角度……但我发现,距离必须影响X位置,也许需要一些我以前从未听过的数学。 谢谢你的时间。

如何将另一个结构隐式转换为我的Type?

因为它是MyClass x = 120; ,是否可以创建这样的自定义类? 如果是这样,我该怎么办?

渲染(重绘)不可见的canvas

我在每个页面上都有一个带有单独canvas(在它们上面有不同的UserControls)的选项卡式应用程序。 现在我需要将所有页面(canvas)保存到图像中。 代码是这样的: public static System.Drawing.Bitmap ExportToImage(Canvas canvas) { // Save old background Brush background = canvas.Background; // Clear background to make images free of it canvas.Background = null; //canvas.UpdateLayout(); //canvas.InvalidateVisual(); // Create a render bitmap and push the surface to it RenderTargetBitmap renderBitmap = new RenderTargetBitmap( (int)canvas.Width, (int)canvas.Height, 96d, 96d, PixelFormats.Pbgra32); renderBitmap.Render(canvas); MemoryStream picStream […]

WPF DatePicker LostFocus发射七次

我这里有一个非常简单的场景。 请看布局,请: 和代码隐藏: private void _datePicker_OnLostFocus(object sender, RoutedEventArgs e) { Debug.WriteLine(“LostFocuse”); } 所以,麻烦的是当我拿起一些日期并点击TextBox然后,事件LostFocus激发7( 七! )次。 一个当DatePicker真的失去了焦点,当我在TextBox并完全剩下6次时,我无法解释。 我该如何解决? 我只需要一次这次活动。 或者我可以使用其他一些活动? 我用同样的结果尝试了LostKeyBoardFocus 。

随着时间的推移,添加到List 会变得非常慢

我正在解析一个大约有1000行的html表。 我在每行的一个 中添加~10个字符串到list对象。 前200个左右的循环非常快,但随着时间的推移变得越来越慢。 这是我正在使用的代码: List myList = new List(); int maxRows = numRows; for (int i = 1; i < maxRows; i++) { TableRow newTable = myTable.TableRows[i]; string coll = string.Format("{0},{1},{2},{3},{4}",newTable.TableCells[0].Text,newTable.TableCells[1].Text,newTable.TableCells[2].Text,newTable.TableCells[3].Text,newTable.TableCells[4].Text); myList.Add(coll); label1.Text = i.ToString(); } 我应该使用数组吗? 编辑:我将上面的代码放在一个新的方法上,该方法在一个新的Thread上运行,然后使用以下代码更新我的标签控件: label1.Invoke((MethodInvoker)delegate { label1.Text = i.ToString(); }); 程序以一致的速度运行,不会阻止UI。

获取计算机的MAC地址

我想使用c#访问计算机的mac地址。 我使用以下代码访问mac地址,但此代码中存在一些问题。 代码1 foreach( NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces() ) { if( nic.OperationalStatus == OperationalStatus.Up ) { Console.WriteLine( nic.GetPhysicalAddress().ToString() ); checkMAC = nic.GetPhysicalAddress().ToString(); break; } } 代码2 ManagementClass mc = new ManagementClass(“Win32_NetworkAdapterConfiguration”); ManagementObjectCollection moc = mc.GetInstances(); string MACAddress = String.Empty; foreach (ManagementObject mo in moc) { if (MACAddress == String.Empty) // only return MAC Address from […]

如何将System.Data.DataSetExtensions的引用添加到Web站点ascx.cs文件?

我们正在使用Web站点项目并尝试引用System.Data.DataSetExtensions 。 (使用Web应用程序会更好;但技术主管有她的理由。) 这是我们尝试过的: 找到assembly路径。 打开Visual Studio命令提示符并运行sn.exe -T “full\path.dll” 根据公钥标记将以下内容添加到web.config中。 web.config> system.web> 完整路径是C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.DataSetExtensions.dll 尽管如此,当我们using System.Data.DataSetExtensions添加到代码隐藏文件时,msbuild仍然抱怨。 是什么赋予了? 我们如何解决这个问题?

任务状态:等待激活-DownloadStringTaskAsync -WP8

任务的状态始终是“等待激活”。任务的结果=“”。 我不明白为什么…感谢您的帮助UI调用GetDocLibs方法。 public class ServerFunctions { public static List GetDocLibs(bool onlyDocLibPerso) { string xmlContent = GetXml(); List result = BdeskDocLib.GetListFromXml(xmlContent, onlyDocLibPerso); return result; } private static String GetXml() { Tasktask=requesteur.Query(dataRequestParam); task.Wait(); xmlResult = task.Result; return xmlResult; } } public class DataRequest { public Task Query(DataRequestParam dataRequestParam) { try { WebClient web = new WebClient(); if […]

单声道C#十进制分割的精度是不同的?

decimal d1 = 4.0m; decimal d2 = 40.0m; decimal d = d1 / d2; string repr = d.ToString(); 在Windows上,我为repr获得“0.1”。 在Mono(Xamarin Android)上,我获得了“0.1000000000000000000000000000”左右。 是什么赋予了? 此外,我已经看到建议除以1.0000000000000000000000000000m以摆脱不必要的尾随零。 这在Xamarin Android上都不起作用。 已知错误? 或者技术上不是错误 – 这是否符合标准? 为了摆脱零,我将值转换为字符串,从字符串中删除尾随零,并将其转换回小数。 它很弱。 此外,我的解决方案不会产生我想要的确切结果。 我宁愿留下相当重要的尾随零,而不是删除所有尾随零。

在TPL Dataflow中,是否可以在创建块之后但在使用之前更改DataflowBlockOptions?

……让它生效吗? 我想推迟设置ExecutionDataflowBlockOptions.SingleProducerConstrained属性,直到我准备将网络链接在一起。 (因为,我想用它们的语义分开创建块,用它的语义将网络链接在一起。) 但据我所知,只能在创建块时设置ExecutionDataflowBlockOptions(例如,对于TransformBlock,TransformManyBlock等,您将其传递给构造函数,否则它不可见)。 但是……我没有注意到这些物业有公共制定者。 所以…我可以用ExecutionDataflowBlockOptions的占位符实例创建块并保持它以便以后我可以设置SingleProducerConstrained = true,如果我愿意,将块链接在一起(并且它将生效)? (顺便说一句,有没有什么方法可以判断SingleProducerConstrained除了测量吞吐量之外是否有任何影响?) 更新: @ i3amon在他的回答中正确指出这是无法完成的,因为数据流块会克隆您传入的DataflowBlockOptions并使用它。 但无论如何,我使用内部数据结构,我可以通过reflection和动态访问。 我把它放在下面的答案中。