我在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) 我有一些错误: 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) 我想用 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核心(我不确定它是如何稳定和功能的,因为它不包含所有的asp.net功能),作为Windows服务器2016支持容器(和docker),我们应该是能够部署asp.net mvc 4.0应用程序?
我有一个.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) 我正在使用Fsharp脚本,并试图找到一种将数据从XML文件转换为CSV文件的方法。
我首先从使用typeprovider读取XML文件开始,之后我想要使用ServiceStack.Text序列化程序,但是当然数据还没有准备好,因为我还有XmlProvider。
我可能从错误的角度解决了这个问题。有见识吗?
在我目前的项目(电子商务网站)中,我们有不同的有界背景,例如:结账过程中的结算,交付或付款.
除此之外,根据客户的购买要求,结账流程也会有所不同.因此,根据购物车的内容,结帐过程中的步骤数可能会有所不同,或者我们不会/将要求她提供某些信息.
那么,是否应该为每种不同类型的结账流程创建不同的有界上下文?
例如,订单聚合根将根据结帐流程EticketsOrder而不同(在此上下文中我们不需要递送地址,因此我们不会向用户询问)Ticket BillingAddress
ClothesOrder(在这种情况下,我们需要一个送货地址,在结账过程中还有一个额外的步骤来获得这个)衣服BillingAddress DeliveryAddress
这种分离意味着创建两个不同的域实体,即使它们具有相似的属性.
模拟这类问题的最佳方法是什么?如何找到上下文边界?