小编Kis*_*mar的帖子

如何在转义键上关闭WPF中的窗口

可能重复:
如何为项目中的所有WPF窗口分配"关闭按键时按键"行为?

我想在用户单击转义按钮时关闭我的wpf项目中的窗口.我不想在每个窗口中编写代码,但是想要创建一个可以捕获用户按下转义键的类.

.net c# wpf c#-4.0

39
推荐指数
3
解决办法
4万
查看次数

Windows 8商店应用程序(Metro)是否在Windows 7或XP中运行?

我想知道使用Visual Studio 11 Developer Preview和.Net FrameWork 4.5开发的Metro应用程序是否可以在Windows 7或XP中运行.

不是正常的Windows窗体或WPF,我想知道所有新的Metro应用程序.

在Windows XP或Windows 7中运行Metro Apps需要哪些新功能

windows-7 microsoft-metro windows-8 windows-runtime windows-store-apps

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

在WPF中转到Enter keypress上的下一个控件

当我在WPF MVVM应用程序中按Enter键而不是Tab键时,我想转到下一个控件.我怎样才能做到这一点?

c# wpf mvvm

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

如何为Console.WriteLine创建快捷方式

我必须在我的代码中多次键入Console.WriteLine()所以任何人都可以告诉我为Console.WriteLine创建一个快捷方式,就像我可以使用它一样

CW=Console.WriteLine();
//After that i can use this CW for my Console.WriteLine() like
CW("Print Something");
Run Code Online (Sandbox Code Playgroud)

.net c#

33
推荐指数
5
解决办法
4万
查看次数

MEF插件和EF CodeFirst - 如何?

背景:
我们有一个包含许多模块的项目.我们将EntityFramework 4.2与FluentAPI(CodeFirst)一起使用.

有一个名为Diverto.ORM.EntityFramework.SQLServer的中心项目,它包含使用FluentAPI构建上下文的部分类(并且它引用了解决方案中的所有其他项目).

最近我们收到了客户要求实施许多其他功能的请求,该解决方案还需要其他几个项目.其中一些项目将来自另一个系统(人力资源),一些将被创建.现有解决方案的核心是财务系统.

我们希望使用MEF"动态"启用和禁用这些新项目(以及GUI,业务逻辑和所有项目).它们将作为插件进行交互,应用程序的主菜单也将使用MEF进行填充.
但是,由于它们必须共享的数据,我们并不真正了解如何启用/禁用这些模块/项目(新模块/项目).

考虑一下:
- 使用DbSet <ClassA>和DbSet <ClassB>的DivertoContext(主上下文).
- 使用DbSet <ClassC>的PluginContext(来自插件).

现在,考虑到在GUI内部,我必须能够访问ClassA,ClassB和ClassC中的数据(如果插件存在的话).

找到解决方案 见下文

嘿,你在那里,请在回答之前阅读!

我注意到有人在检查这个并将其标记为最喜欢或最喜欢的.请记住,这个答案可以追溯到2012年,EntityFramework 自那以后发生了很大的变化.

另外,拜托,,记住,每个项目都有自己的需求.那时候,我需要这个功能.您的项目可能根本不需要这个,或者只是其中的一部分!

最后,只是为了确保一切都被掩盖,是的,可以使用EF 6.1和EF迁移来实现这一点,也可以使用其他ORM和迁移框架.

您可能需要一些其他接口,作为迁移加载的接口,并正确处理特定的插件迁移(不要将其与其他插件混合使用,因此请尝试为每个插件实现某种独特的令牌).

entity-framework fluent-interface mef entity-framework-4

17
推荐指数
1
解决办法
6232
查看次数

将焦点移动到输入键上的下一个单元格按WPF DataGrid?

我想要一个可以的Custom DataGrid,

  1. Enter如果处于编辑模式,也会在按下键时移动到下一个单元格.
  2. 当达到当前行中的最后一列时,焦点应移动到下一行的第一个单元格.
  3. 在到达下一个单元格时,如果单元格是可编辑的,它应该自动变为可编辑.
  4. 如果单元格包含ComboBox非组合框,则组合框应该是DropDownOpen.

请帮帮我.我在过去的几天里一直在尝试创建一个Custom DataGrid并编写了一些代码

protected override void OnPreviewKeyDown(System.Windows.Input.KeyEventArgs e)
Run Code Online (Sandbox Code Playgroud)

但我失败了.

c# wpf mvvm wpfdatagrid

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

如何将类对象转换为字符串?

我有一个通过Web服务(WCF)来的类对象.该类具有String类型的属性和一些自定义类类型.

如何获取自定义类型的属性的属性名称和属性名称.

我尝试使用GetProperies()进行反射,但失败了.如果Property类型是string类型,GetFields()给了我一些成功,我也想获得自定义类型属性的属性.

这是我的代码.

public static string ToClassString(this object value)
{
    if (value == null)
        return null;
    var builder = new StringBuilder();
    builder.Append(value.GetType().Name + "{ ");
    foreach (var prop in value.GetType().GetFields(
BindingFlags.Public
| BindingFlags.Static | BindingFlags.Instance | BindingFlags.FlattenHierarchy | BindingFlags.GetProperty))
    {
        builder.Append("{ ");
        builder.Append(prop.Name + " , ");
        switch (prop.FieldType.Namespace)
        {
            case "System":
                builder.Append(prop.GetValue(value) + " }");
                break;
            default:
                builder.Append(prop.GetValue(value).ToClassString() + " }");
                break;
        }
    }
    builder.Append("}");
    return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)

我把输出作为

NotifyClass {{UniqueId,16175} {NodeInfo,NodeInfo {} } {EventType,SAPDELETE}}

这是我要将其实例转换为字符串的类

[System.Diagnostics.DebuggerStepThroughAttribute()] …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection wcf

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

C#中静态类的反射

我创建了一个静态类并在Reflection中使用它.但是当我访问该类的方法时,它显示了5个方法但我只创建了1个.额外的方法是

Write
ToString
Equals
GetHashCode
GetType
Run Code Online (Sandbox Code Playgroud)

但我只创建了Write方法.

一个静态方法可以在静态类中,但这些额外的4种方法不是静态方法,而是从它们驱动的位置开始.什么是基类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Reflection;

namespace ReflectionDemo
{
    static class ReflectionTest
    {
        public static int Height;
        public static int Width;
        public static int Weight;
        public static string Name;

        public static void Write()
        {
            Type type = typeof(ReflectionTest);         //Get type pointer
            FieldInfo[] fields = type.GetFields();      //obtain all fields
            MethodInfo[] methods = type.GetMethods();
            Console.WriteLine(type);
            foreach (var item in methods)
            {
                string name = item.Name;
                Console.WriteLine(name);
            }

            foreach (var field …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection static

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

WPF XAML中边框各边的颜色不同?

我希望在WPF XAML中边框的每一边都有不同的颜色.我怎样才能做到这一点.

<Border BorderThickness="1,2,3,4" BorderBrush="Blue"></Border>
Run Code Online (Sandbox Code Playgroud)

wpf xaml

7
推荐指数
2
解决办法
4763
查看次数

EntityFramework中的公用表表达式

我在Sql Server中有这个查询,我需要在EntityFramework中使用,那么如何编写一个与此结果相同的EntityFramwork代码

WITH    cte AS
        (
        SELECT  *
        FROM    StockGroups
        WHERE   GroupParent ='Stationery' 
        UNION ALL
        SELECT  g.*
        FROM    StockGroups g
        JOIN    cte
        ON      g.GroupParent = cte.GroupName
        )
SELECT  *
FROM    cte
Run Code Online (Sandbox Code Playgroud)

我不知道如何在EF中转换它,所以我尝试使用join.

from a in db.StockGroups
join b in db.StockGroups on new { GroupParent = a.GroupParent } equals new { GroupParent = b.GroupName }
where
  b.GroupName == "Stationery"
select new {
  a.GroupName,
  a.GroupParent,
  Column1 = b.GroupName,
  Column2 = b.GroupParent
}
Run Code Online (Sandbox Code Playgroud)

但结果并不像CTE一样递归.

.net c# linq common-table-expression entity-framework-4

7
推荐指数
3
解决办法
8383
查看次数