草庐IT

model-binding

全部标签

c# - 具有 XAML 中定义的选项的数据绑定(bind) WPF ComboBox?

在我的View模型上,我有一个int属性,我想使用ComboBox公开它以进行编辑,并使用一组有限的选项,例如16、8、4和2。有没有一种方法可以在XAML中指定选项,同时仍然将值绑定(bind)回View模型?我想做这样的事情:16842我知道我可以组装一个List在代码中并将其设置为ItemsSource,但我希望有一种方法可以做到这一点,它不涉及View模型中公开在代码中创建的集合的额外属性。 最佳答案 您可以完全按照示例中的方式指定您的选择。为了使其正常工作,您缺少的是SelectedValuePath属性。没有它,Sele

c# - 在 ASP.NET MVC3 模型绑定(bind)器中使用依赖注入(inject)

我正在MVC3网站上工作,尝试使用Ninject来解决我的依赖关系。我有以下场景:publicclassUserModelBinder:IModelBinder{//[Inject]publicUserDataServiceuserData{get;set;}publicobjectBindModel(ControllerContextcontrollerContext,ModelBindingContextbindingContext){GuidUserID=(Guid)Membership.GetUser().ProviderUserKey;//userDataService=De

c# - ASP.Net MVC 回发和模型

这主要是本期评论的后续,但我没有足够的声誉来发表评论......ASP.NetMVCPostbackalabelvaluetoyourcontroller假设我有一个简单的模型:publicclassSimpleClass{publicStringLabel{get;set;}publicStringFirstName{get;set;}}标签根据用户/客户端更改,因此它不能是DataAttribute。如果回发处理时出现问题,我们需要重绘整个页面。这就是上一篇文章的症结所在。公认的解决方案是这样做:@Html.DisplayTextFor(model=>model.Label)@Ht

c# - CreateObject 等效于 C# 4、动态关键字和后期绑定(bind)?

如何在不引用库的情况下从程序标识符或ProgID(例如“Word.Application”)在C#4.0中创建动态COM/OLE/ActiveX对象?在C#3.5中,我必须编写如下内容TypecomObjectType=Type.GetTypeFromProgID(progId,true);Activator.CreateInstance(comObjectType);在C#4.0中是否有更简单的方法可以将其分配给动态类型的变量(使用dynamic关键字)? 最佳答案 有什么问题dynamicmyTypeInstance=Activ

c# - WPF 绑定(bind) : Static resource cannot be resolved

我尝试运行thisexample但我遇到了绑定(bind)问题。设计器突出显示错误Theresource"monthCollection"couldnotberesolved如何将Utility.MonthCollection用作本地资源?XAML部分:C#部分:namespaceFaceReport{internalclassUtility{publicenumReportFor{Choose,All,Group,Person}privatestaticDictionary_dictReportFor;publicstaticDictionaryReportForCollection

c# - 如何绑定(bind)或以其他方式获取和设置资源中控件的值?

如何将用户控件资源内的控件绑定(bind)到属性?或者,我可以从后面的代码中找到控件并从那里获取和设置值吗?这是我的标记。我已将其简化为相关部分:Salesmen.xaml:这是我的属性(property)。尽管双向绑定(bind),它始终为空:Salesmen.xaml.cs:stringtotalSalesmen{get;set;}我听说过VisualTreeHelper和LogicalTreeHelper.这些可能会启用另一种方法——找到控件并手动获取它们。但是,VisualTreeHelper只能看到LayoutRoot及其子项(不是UserControl.Resources)

c# - Binding 没有 Clone 方法,复制它的有效方法是什么

我想复制一个绑定(bind),这样我就可以在不影响原始绑定(bind)的情况下为其设置不同的源属性。这只是将新绑定(bind)的所有属性设置为与旧绑定(bind)相同的情况吗? 最佳答案 这是我对问题的解决方案:publicstaticBindingBaseCloneBinding(BindingBasebindingBase,objectsource){varbinding=bindingBaseasBinding;if(binding!=null){varresult=newBinding{Source=source,Async

c# - 帮助我理解 "LINQ to Entities only supports casting Entity Data Model primitive types"

我有一个工作单元和一个使用EF4和POCO的存储库。由于EF在可以Skip()和Take()之前需要一个有序集,因此我添加了以下单元测试(没有模拟)只是为了提取一条记录以查看它是否有效。varmyList=UOW.EntityRepo.Get(orderbyLambda:p=>p.ID,page:1,pageSize:1);这导致表达式orderbyLambda={p=>Convert(p.ID)}和枚举期间的错误。ID是tinyint(Int16/短)那么为什么按ID排序失败呢?有关错误的更多信息Unabletocastthetype'System.Int16'totype'Syst

c# - 在从数据库绑定(bind)数据之前向组合框添加一个项目

我在Windows窗体表单中有一个组合框,它从数据库中检索数据。我做得很好,但我想在数据库数据之前添加第一项。我怎样才能做到这一点?我可以把它放在哪里?publicCategory(){InitializeComponent();CategoryParent();}privatevoidCategoryParent(){using(SqlConnectionCon=GetConnection()){SqlDataAdapterda=newSqlDataAdapter("SelectCategory.Category,Category.IdfromCategory",Con);DataT

c# - 绑定(bind)数据网格列宽

我有两个数据网格,每个数据网格一列。第一:第二个:将第一列的宽度绑定(bind)到第二列的宽度不起作用。如果我以这种方式在代码中这样做:FilterTextCol01.Width=TextCol01.ActualWidth;它有效。谁能告诉我为什么第一种方法不起作用? 最佳答案 因为DataGrid列是抽象对象,它们不会出现在窗口的逻辑树或可视树中。您不能使用ElementName在它们上绑定(bind)属性(这些绑定(bind)不需要名称范围)。您可以尝试使用Source和x:Reference相反,例如{BindingSourc