小编Mic*_*han的帖子

为什么要使用MVVM?

好的,我一直在研究MVVM模式,每次我以前尝试过调查它时,我放弃了很多原因:

  1. 不必要的超长编码
  2. 编码员没有明显的优势(我办公室没有设计师.目前只有我自己很快成为另一个编码员)
  3. 没有很多资源/文档的良好实践!(或者至少很难找到)
  4. 想不出这个有利的单一场景.

我即将再次放弃它,并认为我会问是否有人回答上述原因.

老实说,我无法看到将其用于单个/合作伙伴编码的优势.即使在具有10个窗口的复杂项目中也是如此.对我来说,DataSet是一个足够好的看法和在回答样结合布伦特以下问题

有人可以展示一个示例,与XAML DataBinding相比,使用MVVM模式可以节省时间.

我的100%绑定目前都是在XAML中完成的.因此,我不认为VM的重点是它需要编写和依赖的额外代码.

编辑:
在下午研究MVVM之后,我终于找到了一些让我从这个答案中认识到它的真正好处的东西.

c# wpf mvvm

70
推荐指数
5
解决办法
3万
查看次数

在数据库中存储枚举的最佳方法

使用C#和Visual Studio以及MySQL数据连接器在数据库中存储枚举的最佳方法是什么.

我将创建一个包含100多个枚举的新项目,其中大部分都必须存储在数据库中.为每个人创建转换器将是一个漫长的过程,因此我想知道视觉工作室或某人是否有任何方法,我没有听说过.

c# database enums database-design visual-studio

58
推荐指数
3
解决办法
6万
查看次数

WPF将ListBox绑定到枚举,显示描述属性

是否可以使用ObjectDataProvider方法将ListBox绑定到枚举,并以某种方式设置样式以显示描述attriibute?如果是这样,怎么会这样做...?

c# data-binding wpf enums listbox

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

数据库设计Primay Key,ID vs String

我目前正计划开发音乐流媒体应用程序.我想知道作为服务器上的表中的主键会更好.ID int或唯一字符串.

方法1:

歌曲表: SongID(int),Title(字符串),*Artist**(字符串),Length(int),*Album**(string)

流派表格 类型(字符串),名称(字符串)

SongGenre:***SongID****(int),***类型****(字符串)

方法2

歌曲表: SongID(int),Title(字符串),*ArtistID**(int),Length(int),*AlbumID**(int)

流派表 GenreID(int),名称(字符串)

SongGenre:***SongID****(int),***GenreID****(int)

键:粗体 =主键,*字段**=外键

我目前正在使用方法2进行设计,因为我相信它会加快查找性能并减少使用空间,因为int占用的空间比字符串少得多.

有什么理由这不是个好主意吗?有什么我应该知道的吗?

database database-design

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

C# Nullable 注解,如果参数不为空,则方法返回不为空

如果输入不为空,如何告诉编译器以下扩展方法返回不为空?

public static string? SomeMethod(this string? input)
{
    if (string.IsNullOrEmpty(input))
        return input;

    // Do some work on non-empty input
    return input.Replace(" ", "");
}
Run Code Online (Sandbox Code Playgroud)

.net c# nullable nullable-reference-types

19
推荐指数
1
解决办法
3641
查看次数

VS 2017 - 团队资源管理器提交 - 快捷方式

使用和/或没有TeamExplorer设置从VisualStudio提交git的最快方法是什么.

目前我必须:

  1. Ctrl+ \,Ctrl+M
  2. Enter
  3. 切换到更改
  4. Tab,Tab
  5. 写一个提交消息
  6. Ctrl+ Q,Ctrl+ S (Team.Git.CommitAndSync的自定义快捷方式)

git visual-studio team-explorer visual-studio-2017

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

MVVM Focus To Textbox

如何在TextBox不指定名称的情况下将焦点设置为a TextBox?目前我正在做以下事情

<Window FocusManager.FocusedElement="{Binding ElementName=Username}">
    <Grid>
        <TextBox Text="{Binding Username}" Name="Username" />            
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以在不指定名称的情况下执行此操作TextBox.我相信MVVM中有一个Name元素通常意味着糟糕的设计?

wpf textbox mvvm

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

NHIbernate OR Criteria Query

我有以下映射类

Trade { ID, AccountFrom, AccountTo }
Account {ID, Company}
Company {ID}
Run Code Online (Sandbox Code Playgroud)

现在我无法弄清楚选择所有交易的方式

AccountFrom.Company.ID = X OR AccountTo.Company.ID = X
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法让AND工作:

criteria.CreateCriteria("AccountFrom").CreateCriteria("Company").Add(Restrictions.Eq("ID", X);
criteria.CreateCriteria("AccountTo").CreateCriteria("Company").Add(Restrictions.Eq("ID", X);
Run Code Online (Sandbox Code Playgroud)

但是我怎么能把它变成OR而不是AND.我之前使用过Disjunction,但我似乎不知道如何添加单独的标准,只是限制.

c# nhibernate criteria

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

预览Xamarin表单页面

有没有办法在没有首先部署到设备/模拟器的情况下预览Xamarin表单页面?

或者有没有办法实时编辑页面并在某处看到更改(有点像Snoopy for WPF).我尝试了Xamarin Studio + Visual Studio,但没有看到设计师.

designer preview visual-studio xamarin xamarin.forms

10
推荐指数
2
解决办法
7991
查看次数

Silverlight 5 VS 2012单元测试

在过去几个小时里,我一直在尝试为Silverlight应用程序生成单元测试.

许多帖子都是指"Silverlight单元测试项目",它是Silverlight工具包的一部分.但是我下载了工具包但仍然没有测试项目,它似乎只在VS 2010中可用?

我添加了一个"Silverlight类库"项目并添加了对以下内容的引用:

  1. Microsoft.Silverlight.Testing
  2. Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight

和以下TestClass:

using Microsoft.Silverlight.Testing;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace UnitTesting
{
    [TestClass]
    public class Class
    {

        [TestMethod]
        public void TestMethod()
        {
            .....    
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但Visual Studio 2012测试资源管理器没有发现任何测试.即使重新构建解决方案并重新启动应用程序.

有人有主意吗?这甚至可能吗?

c# silverlight unit-testing visual-studio-2012

9
推荐指数
2
解决办法
5769
查看次数