在一个 易变的布尔字段上使用CancellationTokenSource来表示完成信号是否有任何好处?Task
我有一个WPF .NET 4.6在Windows 8.1平板电脑上运行的应用程序,在过去的几天里,我一直在努力使我的应用程序touch友好,使其按预期工作.我的主要问题是焦点相关,这些影响我的应用程序中的几个控件.例如:

我在寻找解决方案时尝试了几种方法,每种解决方案都有自己的缺点:
最近微软宣布 "Touch更好"但我找不到任何关于解决这个问题的最佳方法的官方文档.
关于如何通过触摸使我的应用程序更好地工作的任何建议都将是一个很大的帮助.
在多项目解决方案中发生了一个不幸的事故,在向解决方案添加新项目之后,编写一些代码并点击运行F5的项目并不是重点关注的项目.有没有办法让Visual Studio自动将新项目标记为启动项目?
我有一个在Windows 8.1平板电脑上运行的WPF应用程序.应用程序使用以下方法显示虚拟键盘:
public static void OpenKeyboard()
{
ProcessStartInfo startInfo =
new ProcessStartInfo(@"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe")
{
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(startInfo);
}
Run Code Online (Sandbox Code Playgroud)
但是,键盘显示在顶部的活动窗口的大小不会相应地改变,这意味着如果我有一个ScrollViewer围绕我的窗口的所有元素,它不会响应键盘.
有没有办法让我的窗户知道键盘的存在?
更新
尝试注册SizeChanged窗口事件但键盘弹出时不会引发.
这几天我一直在用脑子敲打我的脑袋,仍然无法确定哪种方法正确.
这个问题是针对WPF因为而不是具体到一个web应用,许多文章和文章在网上推荐了一个context每view-model方法,而不是context每request.
我有一个WPF MVVM使用Entity-Framework DB first模型的应用程序.
这是我的应用程序中使用的两个模型的示例(由EFDesigner 创建):
public partial class User
{
public User()
{
this.Role = new HashSet<Role>();
}
public string ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Role> Role { get; set; }
}
public class Role
{
public Role()
{
this.User = new HashSet<User>();
}
public int ID { get; set; }
public …Run Code Online (Sandbox Code Playgroud) 我有一张桌子employee,我必须将他们的位置更新到新位置,所以我需要批量更新.请使用Dapper ORM帮助我这样做
我的主要关键是Employee-id.
您可以在下面看到一次更新单个记录的示例代码.
// Employees is list of class class Employee
SqlConnection connection = new SqlConnection(connectionstring);
connection.open();
foreach (Employee employee in Employees)
{
string query = @"UPDATE [dbo].[Employee]
SET Name = @Name, Age = @Age, Sex = @Sex,
Location = @Location
WHERE Id = @Id";
connection.QueryAsync<bool>(query, new { @Id = employee.Id, @Name = employee.Name,
@Sex = employee.sex, @Age = employee.age,
@Location = employee.location})).SingleOrDefault();
}
Run Code Online (Sandbox Code Playgroud) 我有一个ASP.NET WEB-API 2应用程序女巫需要有一个POST接受JOSN string未知结构的方法javascript.
我启用cors并且GET方法工作正常,但是当JSON从客户端发送时,api的方法参数始终是null.
这是我的api方法:
//parameters i tried:
//[FromBody]string model
//[FromBody]dynamic model
//dynamic model
public HttpResponseMessage Post(string model)
{
return new HttpResponseMessage()
{
Content = new StringContent("POST: Test message: " + model)
};
}
Run Code Online (Sandbox Code Playgroud)
和我的客户端方法:
function sendRequest()
{
var Test = {"Name":"some name"};
var method = $('#method').val();
$.ajax({
type: method,
url: serviceUrl,
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(Test)
}).done(function (data)
{
$('#value1').text(data); …Run Code Online (Sandbox Code Playgroud) 我创建了一个新的ASP.NET MVC-5应用程序,Individual User Accounts然后更新Nuget packages了解决方案中的所有内容.现在我试图遵循一些教程中显示的一些指导原则,但我遇到了一些问题.第一个是ApplicationRoleManager未创建在整个应用程序中使用的类(ApplicationUserManager已创建).第二个问题更多的是Entity-Framework:我已经看到,为了向用户和角色播种数据库,许多人在ApplicationDbContext类中创建了一个静态构造函数:
static ApplicationDbContext()
{
Database.SetInitializer<ApplicationDbContext>(new ApplicationDbInitializer());
}
Run Code Online (Sandbox Code Playgroud)
所以我添加了它,并且实现的ApplicationDbInitializer是:
public class ApplicationDbInitializer : DropCreateDatabaseIfModelChanges<ApplicationDbContext>
{
protected override void Seed(ApplicationDbContext context)
{
InitializeIdentityForEF(context);
base.Seed(context);
}
//Create User=Admin@Admin.com with password=Admin@123456 in the Admin role
public static void InitializeIdentityForEF(ApplicationDbContext db)
{
var userManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
var roleManager = HttpContext.Current.GetOwinContext().Get<ApplicationRoleManager>();
const string name = "admin@admin.com";
const string password = "Admin@123456";
const string roleName = "Admin"; …Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc entity-framework asp.net-mvc-5 asp.net-identity-2
我偶然发现了一段代码如下:
void check()
{
int integer = 7;
//integer2 is not declared anywhere
int check = integer, integer2;
//after running
//check = 7
//integer = 7
//integer2 = 0
}
Run Code Online (Sandbox Code Playgroud)
逗号的目的是什么?
我有一个WPF应用程序,int其视图模型中的属性如下所示:
private int _port;
public int Port
{
get { return _port; }
set { SetProperty(ref _port, value); }
}
Run Code Online (Sandbox Code Playgroud)
我的观点是这样的:
<TextBox Text="{Binding Port, UpdateSourceTrigger=PropertyChanged}" />
Run Code Online (Sandbox Code Playgroud)
我的问题是,每当用户清除文本框文本时,我都会收到以下错误:
值 '' 无法转换。
这会导致绑定不更新属性,因此我为命令CanExecute逻辑设置的任何规则都不适用。
有什么方法可以覆盖此行为(无需将属性的类型更改为Nullable)?
更新
我尝试使用FallbackValue或转换器,但这 2 将值更改为某些预定义的默认值,这在我的情况下不适用。
c# ×8
wpf ×4
windows-8.1 ×2
.net-4.6 ×1
architecture ×1
asp.net-mvc ×1
cors ×1
dapper ×1
data-binding ×1
javascript ×1
json ×1
mvvm ×1
sql ×1
task ×1
touch ×1
variables ×1
volatile ×1