小编Yoa*_*oav的帖子

16
推荐指数
1
解决办法
1883
查看次数

WPF和触摸 - 焦点问题

我有一个WPF .NET 4.6Windows 8.1平板电脑上运行的应用程序,在过去的几天里,我一直在努力使我的应用程序touch友好,使其按预期工作.我的主要问题是焦点相关,这些影响我的应用程序中的几个控件.例如:

  • 文本框:有时需要双击或三击以获得输入焦点,它们确实输入鼠标悬停状态但插入符号不存在;
  • 组合框:为了打开它,需要进行几次触摸,一旦触摸项目以便选择它,组合将保持打开状态,新选择的项目会突出显示;
    组合框焦点问题
  • 按钮:只需点击几下即可运行连接命令并保持鼠标悬停状态;
  • 键盘支持

我在寻找解决方案时尝试了几种方法,每种解决方案都有自己的缺点:

  • 删除整个应用程序的平板电脑支持(从此处获取).这一个解决了上面提到的大多数焦点问题,但使滚动(我猜其他一些与平板电脑相关的功能,我还没有找到)无法使用.
  • 需要时显式激活键盘(此处示例).焦点问题仍然存在,滚动按预期工作
  • 我还尝试删除所有样式并测试了来自不同制造商的2种不同平板电脑上的所有内容但没有成功

最近微软宣布 "Touch更好"但我找不到任何关于解决这个问题的最佳方法的官方文档.

关于如何通过触摸使我的应用程序更好地工作的任何建议都将是一个很大的帮助.

c# wpf touch windows-8.1 .net-4.6

13
推荐指数
1
解决办法
1630
查看次数

自动更改启动项目

在多项目解决方案中发生了一个不幸的事故,在向解决方案添加新项目之后,编写一些代码并点击运行F5的项目并不是重点关注的项目.有没有办法让Visual Studio自动将新项目标记为启动项目?

visual-studio visual-studio-2013

11
推荐指数
3
解决办法
4018
查看次数

WPF窗口大小不受TabTip键盘的影响

我有一个在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窗口事件但键盘弹出时不会引发.

c# wpf virtual-keyboard windows-8.1

11
推荐指数
1
解决办法
952
查看次数

在WPF MVVM应用程序中管理DbContext

这几天我一直在用脑子敲打我的脑袋,仍然无法确定哪种方法正确.
这个问题是针对WPF因为而不是具体到一个web应用,许多文章和文章在网上推荐了一个contextview-model方法,而不是contextrequest.
我有一个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)

c# architecture wpf entity-framework mvvm

9
推荐指数
1
解决办法
6506
查看次数

任何人都可以帮助使用Dapper ORM进行批量更新吗?

我有一张桌子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)

c# sql dapper

9
推荐指数
1
解决办法
8985
查看次数

将JSON字符串发布到WEB API

我有一个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)

javascript json cors asp.net-web-api2

8
推荐指数
2
解决办法
2万
查看次数

了解MVC-5身份

我创建了一个新的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

6
推荐指数
1
解决办法
8252
查看次数

变量初始化/声明中的逗号

我偶然发现了一段代码如下:

    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)

逗号的目的是什么?

c# variables variable-declaration

6
推荐指数
1
解决办法
973
查看次数

处理空数字绑定

我有一个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# data-binding wpf

5
推荐指数
1
解决办法
1700
查看次数