使用MVVM将Windows从列表拖放到Windows Phone上的canvas

我有一个应用程序,用户可以使用从列表中选择的元素来操作,这是通过单击列表元素并将元素添加到canvas来完成的。 在用户测试应用程序期间。 人们发现它不是直观的,因为他们想要拖放。 我找到了几个链接,描述了如何为WPF实现这一点,即不适用于Windows Phone。 试图从msdn项目复制代码我最终遇到了一些问题,我无法从DragEventArgs获得有关元素的相同信息。 所以我想要完成的是用户可以将列表框中的元素拖到canvas上。 我已尝试过Viewmodel但在DragEventArgs中缺少信息,如e.Data和e.Source。 我也尝试过在xaml.cs文件中没有成功。 任何帮助表示赞赏。 理念 在选中元素时创建元素的副本, 将副本添加为canvas的子项, 设置副本的x,y坐标以匹配所选元素的位置, CaptureMouse()在副本上。 当然在Windows Phone上操作delta应该用来移动它而不是捕获鼠标。 在Click事件添加元素后,我可以在Canvas中拖动一个元素。 但我似乎无法从列表中拖出工作。 上面的要点是我已经尝试但现在没有任何成功的方法。

ConnectionString中未指定OLE DB提供程序。 “提供商= SQLOLEDB;

我试图使用C#运行查询,我遇到以下问题 ConnectionString中未指定OLE DB提供程序。 一个例子是’Provider = SQLOLEDB; 我的代码 string strConString = System.Configuration.ConfigurationManager.ConnectionStrings[“WorkflowConnStr”].ConnectionString.ToString(); string sqlstr = “select * from table” OleDbConnection myConnection = new OleDbConnection(strConString); try {myConnection.Open();} catch (Exception err) { System.Diagnostics.Debug.WriteLine(err.Message); } OleDbCommand myCommand = new OleDbCommand(sqlstr, myConnection); OleDbDataReader reader = myCommand.ExecuteReader(); web.config中 有什么建议吗?

ASP.NET / C#:DropDownList在服务器控件中没有触发的SelectedIndexChanged

我正在创建一个服务器控件,基本上绑定两个下拉列表,一个用于国家,一个用于州,并更新国家/地区的selectedindexchanged事件的状态下拉列表。 但是,它没有回发。 有什么想法吗? 将它们包装在UpdatePanel中的加分点(有渲染问题;也许是因为我没有要引用的页面?) 这就是我所拥有的(一些额外的数据访问内容被删除): public class StateProv : WebControl { public string SelectedCountry; public string SelectedState; private DropDownList ddlCountries = new DropDownList(); private DropDownList ddlStates = new DropDownList(); protected override void OnLoad(EventArgs e) { base.OnLoad(e); IList countries = GetCountryList(); IList states = new List(); if (SelectedCountry != null && SelectedCountry != “”) { states […]

从桌面应用程序使用时的PasswordVault安全性

我想在我的桌面应用程序(基于WPF)中使用Windows.Security.Credentials.PasswordVault来安全地存储用户的密码。 我设法使用此MSDN文章访问此Windows 10 API。 我做了一些实验,看来从一个桌面应用程序(不是本机UWP应用程序)写入PasswordVault的任何数据都可以从任何其他桌面应用程序中读取。 即使使用Desktop Bridge技术打包我的桌面应用程序,因此具有Package Identity也无法解决此漏洞。 任何想法如何解决这个问题,并能够从其他应用程序安全存储应用程序的数据? 更新:似乎PasswordVault没有为DPAPI增加额外的安全性。 案件结案,结果为否定。

asp.net mvc中的LINQ + EntityFunctions

我有这样的代码使用EntityFramework Alpha3(来自nuget): class Member { [Key] public int Key { get; set; } public string Forename { get; set; } public string Surname { get; set; } public string Sitename { get; set; } public DateTime? RegDate { get; set; } } class MembersContext : DbContext { public MembersContext() : base(“Name=ConnectionString”) { } public DbSet […]

在将命令提示符输出重定向到winform时遇到Process类问题

我在市场上寻找一个“选项卡式”命令提示应用程序,因为当我想到创建自己的桌面屏幕时,我厌倦了多个命令提示窗口混乱我的桌面屏幕。 虽然我知道它不会像独立产品那样伟大,但我认为创建自己的只是为了更熟悉“System.Diagnostic”类(Process,ProcessStartInfo等)将是一个很好的练习。我以前从未真正玩过。 我刚刚创建了一个准系统winforms应用程序,它有2个选项卡(包含richtextfields),一个文本字段(输入命令)和一个按钮(实际运行命令)。 我找到了各种post,展示了如何运行命令,但我遇到了实际执行命令并将结果返回到richtextbox的问题。 这是我根据我现在知道的信息创建的方法:(根据以前的答案更新) public void GetConsoleOuput(string command) { string outputString; ProcessStartInfo startupInfo = new ProcessStartInfo() startInfo.FileName = “cmd.exe”; startInfo.RedirectStandardOuput = true; startInfo.WindowStyle = ProcessWindowStyle.Hidden: startInfo.UseShellExecute = false; startInfo.Arguments(“/C ” + command); Process process = new Process() process.StartInfo = startInfo; process.OutputDataReceived += new DataReceivedEventHandler(AppendRichBoxText); process.Start() process.BeginOutputReadLine(); process.WaitForExit(); process.Close(); } public void AppendRichBoxTet(object sender, DataReceivedEventArgs […]

Invoke和BeginInvoke

问候,我正在用C#开发一些应用程序。 目前我正在处理线程,我有一个问题,我在脑海中。 Invoke和BeginInvoke有什么区别? 我读了一些post,我在这里找到了一些有用的信息: 这里 但是,以下代码中的Invoke和BeginInvoke之间有什么区别: private void ProcessRoutine() { for (int nValue = StartFrom; nValue <= EndTo; nValue++) { this.Invoke(this.MyDelegate, nValue); //this.BeginInvoke(this.MyDelegate, nValue); } MessageBox.Show("Counting complete!"); } private void MessageHandler(int progress) { lblStatus.Text = lblStatus.Text = "Processing item: " + progress.ToString(); progressBar1.Value = progress; } 其中MyDelegate是对MessageHandler函数的引用。 我注意到使用BeginInvoke lblStatus.Text没有刷新,使用Invoke刷新标签。 另外我知道Invoke等待它的执行完成。 我感兴趣的最重要的案例是为什么在这种情况下刷新标签文本有所不同。

使用LINQ从另一个字典创建字典

我有一个类型的字典: IDictionary<foo, IEnumerable> my_dictionary bar类看起来像这样: class bar { public bool IsValid {get; set;} } 如何创建另一个只包含IsValid = true的项目的字典。 我试过这个: my_dictionary.ToDictionary( p=> p.Key, p=> p.Value.Where (x => x.IsValid)); 上面代码的问题是,如果该键的所有元素都是IsValid = false,则会创建一个空的可枚举键。 例如: my_dictionar[foo1] = new List { new bar {IsValid = false}, new bar {IsValid = false}, new bar {IsValid = false}}; my_dictionary[foo2] = new List {new […]

仅允许文本框中最多三位数字字符

有没有办法只允许用户在文本框中输入最大数量的字符? 我希望用户输入一个标记/等级,只能输入0 – 100.下面我有监控按键的代码,只允许输入数字,但我想找到一种方法只允许用户输入最小值为0且最大值为100的数字。 private void TxtMark4_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar ‘9’ || e.KeyChar == ‘ ‘) { e.Handled = true; } else { e.Handled = false; } } 或者我可以使用以下内容: if (e.KeyChar >= 48 && e.KeyChar <= 57 || e.KeyChar == ' ') { e.Handled = false; } else { MessageBox.Show("You Can Only […]

访问List 中的对象属性

我正在尝试使用存储在List对象中的单个对象实例的属性,但我似乎无法直接访问属性。 我有一个对象( sportsCarVehicle ),它存储一个用户定义的名称( strVehicleName )(在其他属性中,但这并不重要)。 然后将对象存储在名为sportsCarVehicleStorage的List对象中。 我需要访问List的sportsCarVehicle每个实例, sportsCarVehicle List的值传递给strVehicleName上的combobox。 我假设我需要某种循环来遍历每个实例并将名称传递给combobox,但我的主要问题是无法访问我需要的属性。 sportsCarVehicle实例没有可引用的名称。 还有一点需要注意: sportsCarVehicle的构造函数在sportsCarVehicleStorage.Add()方法中调用。 有关如何做到这一点的任何建议?