小编rad*_*rad的帖子

WPF Treeview只展开第一个节点和所选项目?

我在WPF中使用树视图,当我重新加载绑定的集合时,我不想放松状态(扩展和聚焦).

在第一次加载时,只需扩展第一个节点,我使用以下代码:

    private void ExpandFirstNodeTree()
    {
        foreach (var item in TreeviewModel.Items)
        {
            TreeViewItem itm = (TreeViewItem)TreeviewModel.ItemContainerGenerator.ContainerFromItem(item);
            if (itm == null) continue;
            itm.IsExpanded = true;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我使用DependencyProprety来选择一个项目.我探索TreeView,找到TreeViewItem并将项"IsSelected"属性设置为true.

private static readonly DependencyProperty SelectedEntityCodeProperty =
        DependencyProperty.Register(PropertyHelper.GetName((EntitiesTreeview e) => e.SelectedEntityCode), typeof (string), typeof (EntitiesTreeview));

    public string SelectedEntityCode
    {
        get { return (string) GetValue(SelectedEntityCodeProperty); }
        set { SetValue(SelectedEntityCodeProperty, value); }
    }

    public EntitiesTreeview()
    {
        InitializeComponent();
        Loaded += new RoutedEventHandler(EntitiesTreeview_Loaded);
    }

    private void LoadSelectedItem()
    {
        if ((!string.IsNullOrEmpty(SelectedEntityCode))
            && (TreeviewEntity.SelectedItem == null))
            ChangeSelectedItem<ENTITY>(SelectedEntityCode, TreeviewEntity);
    }

    private …
Run Code Online (Sandbox Code Playgroud)

c# wpf treeview mvvm

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

EF 4.1:从集合中删除子对象不会删除它 - 为什么?

我有一些错误: EF 4:从集合中删除子对象不会删除它 - 为什么?

当我从父母那里删除孩子时,我打电话时删除了孩子SaveChanges(),它会给出以下错误信息:

操作失败:无法更改关系,因为一个或多个外键属性不可为空.当对关系进行更改时,相关的外键属性将设置为空值.如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象.

但是使用DbContext和EF 4.1,"context.DeleteObject(recipe)"不存在.

有什么建议吗?

[编辑]

    public void UpdateWithAttributes(Model model, IEnumerable<Entity> entities)
    {
        var modelOriginal = this.unitOfWork.Model.GetById(model.IModel);

        this.unitOfWork.Context.Entry(modelOriginal).CurrentValues.SetValues(model);
        UpdateEntityAttributeAssociations(modelOriginal, entities);

        this.unitOfWork.Commit();
    }

    public void UpdateEntityAttributeAssociations(Model model, IEnumerable<Entity> current)
    {
        unitOfWork.Context.Entry(model).Collection(m => m.Entities).Load();
ICollection<Entity> original = model.Entities; // perhaps .ToList() necessary

        // delete
        if (original != null)
        {
            List<Entity> toDelete = GetToDelete(original, current);

            foreach (Entity originalEntityToDelete in toDelete)
            {
                unitOfWork.Context.Entity.Remove(originalEntityToDelete);
            }
        }

        // add, update
        if (current != null)
        {
            foreach (Entity currentEntity in …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework poco entity-framework-4.1

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

如何查找 IIS 功能的名称

我想用 powershell 编写一台机器的设置脚本,但我不知道如何找到模块的名称。我想构建与下面的脚本相同的脚本,但是对于 asp.net mvc 3、URL Rewrite 2.0、URL 授权...

我试图在谷歌,网络平台安装程序中搜索......我错过了什么吗?

前任 :

Import-Module ServerManager
$features = @(
   "Web-WebServer",
   "Web-Static-Content",
   "Web-Http-Errors",
   "Web-Http-Redirect",
   "Web-Stat-Compression",
   "Web-Filtering",
   "Web-Asp-Net45",
   "Web-Net-Ext45",
   "Web-ISAPI-Ext",
   "Web-ISAPI-Filter",
   "Web-Mgmt-Console",
   "Web-Mgmt-Tools",
   "NET-Framework-45-ASPNET"
)
Add-WindowsFeature $features -Verbose
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
choco install -y webdeploy
Run Code Online (Sandbox Code Playgroud)

asp.net iis asp.net-mvc powershell scripting

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

我们可以将asp.net mvc 4应用程序部署到带有Windows容器的docker吗?

我最近看到的所有演示都是面向Asp.net核心(我不确定它是如何稳定和功能的,因为它不包含所有的asp.net功能),作为Windows服务器2016支持容器(和docker),我们应该是能够部署asp.net mvc 4.0应用程序?

asp.net containers docker windows-server-2016

3
推荐指数
1
解决办法
1790
查看次数

使用Asp.net 4.0实施OAuth2

我有一个.NET 4.0应用程序,我需要添加一个第三层的OAuth2身份验证。我有点困惑(很难找到.NET 4.0的示例和文档)。

我可以将Microsoft.AspNet.Membership.OpenAuth(OAuth 2.0)与Asp.net 4.0(.NET 4.0)一起使用吗?

我的另一个选择是使用DotNetOpenAuth,但是在.NET 4.0中找到带有Webforms回调的示例时遇到了一些麻烦。

据我了解,我应该有一个身份验证页面(登录页面):

var medOK = new WebServerClient(GetAuthServerDescription(), clientIdentifier: "some client id");
medOK.ClientCredentialApplicator = ClientCredentialApplicator.PostParameter("some secret code");

// CallBack
var state = new AuthorizationState();
var uri = Request.Url.AbsoluteUri;
uri = RemoveQueryStringFromUri(uri);
state.Callback = new Uri(uri); 
var accessTokenResponse = medOK.ProcessUserAuthorization();
if (accessTokenResponse != null){
    //If you have accesstoek then do something 
} else if (this.AccessToken == null) {
    // If we don't yet have access, immediately request it.
    medOK.PrepareRequestUserAuthorization(state);
    medOK.RequestUserAuthorization();
}
Run Code Online (Sandbox Code Playgroud)

还有一个回调页面(例如ashx页面):

var medOK …
Run Code Online (Sandbox Code Playgroud)

c# .net-4.0 dotnetopenauth oauth-2.0 owin

2
推荐指数
1
解决办法
6842
查看次数

在Fsharp中将XML文件转换为CSV文件

我正在使用Fsharp脚本,并试图找到一种将数据从XML文件转换为CSV文件的方法。

我首先从使用typeprovider读取XML文件开始,之后我想要使用ServiceStack.Text序列化程序,但是当然数据还没有准备好,因为我还有XmlProvider。

我可能从错误的角度解决了这个问题。有见识吗?

.net xml csv f# type-providers

2
推荐指数
1
解决办法
152
查看次数

有界背景找到了界限?

在我目前的项目(电子商务网站)中,我们有不同的有界背景,例如:结账过程中的结算,交付或付款.

除此之外,根据客户的购买要求,结账流程也会有所不同.因此,根据购物车的内容,结帐过程中的步骤数可能会有所不同,或者我们不会/将要求她提供某些信息.

那么,是否应该为每种不同类型的结账流程创建不同的有界上下文?

例如,订单聚合根将根据结帐流程EticketsOrder而不同(在此上下文中我们不需要递送地址,因此我们不会向用户询问)Ticket BillingAddress

ClothesOrder(在这种情况下,我们需要一个送货地址,在结账过程中还有一个额外的步骤来获得这个)衣服BillingAddress DeliveryAddress

这种分离意味着创建两个不同的域实体,即使它们具有相似的属性.

模拟这类问题的最佳方法是什么?如何找到上下文边界?

domain-driven-design aggregate bounded-contexts

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