Tag: 数据绑定

“双向”和XmlParseValidationException中的ExceptionValidationRule

我有一个数据库中的数据的WPF应用程序。 我可以在我的Appli中创建新数据并保存到数据库,我可以从我的DataBase加载数据。 例如,我创建了一个Person类。 在我的WPF应用程序中,我可以创建一个Person和ave到DataBase。 当我创建一个客户端时,一些文本框是带有ExceptionValidationRule的,并且,如果validation为false,它会出现一个带有详细错误的标签,一切正常:) 我的问题非常简单:在我的App Lauching中,在我的MainWindow()中,我在DataBase中获取所有Person对象并在DataGrid中加载它。 当我加载“Person对象”时,调用validation(因为validation过程是set()函数),如果有错误, throw new ApplicationException(….) 不是扔! 我有exception错误(XmlParseValidationException)消息,而不是说出错误的标签。 只有当数据加载到Person对象中时才会这样。 所以,得出结论: 如果我在文本框中输入绑定到Person对象的错误数据,如果validation为false,一切正常,我看到错误标签:) 如果我将数据库中的错误数据加载到Person对象,如果validation为false,则我的屏幕上会出现exception消息框! 这是我的XAML: 这是我的Person Class(为了更好的视图而清理): private string m_strCodePerson; public string strCodePerson { get { return m_strCodePerson; } set { m_strCodePerson = value; if (m_strCodePerson.Trim() != “”) { if (m_objIntervenant.ReadIntervenantCodebyCode(m_strCodePerson) != 0) { throw new ApplicationException(m_strCodePerson.Trim() + ” don’t exist !”); […]

WPF中的DataBinding用于父对象

我有一个TreeView我正在填充并为每个项目添加一个ContextMenu。 问题出在我的ViewModel中,TreeView ItemSource绑定到ViewModel本身的属性。 当我再次尝试在ViewModel上引用某些属性时,我似乎无法让它工作。 StackOverflow上的一篇post向我指出了使用RelativeSource正确绑定到MainWindow上的ViewModel的方向。 但是,当我运行该应用程序时,该命令不起作用,并且“输出”窗口不会生成我可以看到的任何绑定或xaml错误。 基本上,可见性绑定起作用,因为“模型”项上存在这些属性。 但是我希望将所有内容都移动到ViewModel,尤其是Command。 谁能发现我在这里做错了什么?

使用Ajax将数据绑定到Repeater

我想在点击特定Button将数据绑定到Repeater 。 我可以通过jQuery执行ajax请求并调用方法来绑定数据,但在页面上没有显示任何内容。 这是我用来将数据绑定到Repeater : public void BindJobs() { if (RptClientDetails.Items.Count != 0) return; RptClientDetails.DataSource = new JobBusiness().GetJobInfoClient(ClientId); RptClientDetails.DataBind(); Response.Write(“myresponse”); Response.End(); } 成功调用上述方法,并通过GetJobInfoClient检索数据。 这是我的ajax电话: function BindJobs() { $.ajax({ type: “POST”, url: “Client/Default.aspx?action=bindJobs”, data: “{}”, contentType: “application/json; charset=utf-8”, dataType: “json”, success: function (msg) { // Do something interesting here. } }); }

通过.NET中的某种接口使属性可用于数据绑定?

我有一个以特定方式实现属性的类,以处理业务逻辑系统的一些自定义需求。 这种“特定方式”使得属性在数据绑定的上下文中不可操作。 基本上,如果我将类的对象放到表单上,数据绑定在对象上找不到任何内容,并且该对象的属性检查器虽然列出了属性,但不允许我编辑它们。 我想知道的是,如果有一个接口或类似的东西,我可以在我的类中实现,它将向表单设计器报告可以绑定的属性,并实现代表数据绑定系统所需的自定义代码。我的财产。 请注意,我不需要在属性检查器中编辑对象的属性值,这只是属性非function性的一个示例。 我只需要数据绑定支持。 是否有这样的界面,如果是这样,它是什么? 我们举一个简单的例子。 我们假设我有这个课程: public class CustomDataBinding : Component { private Dictionary _Properties = new Dictionary(); public CustomDataBinding() { _Properties[“Property1”] = 10; _Properties[“Property2”] = “Test”; } } 有没有什么我可以对我的对象做什么,没有实际制作属性,这将为这两个“属性”添加数据绑定支持? 请注意,对于我的真实类,我知道每个属性的类型,因此如果它更容易,请将上面的代码更改为仅使用字符串值: public class CustomDataBinding : Component { private Dictionary _Properties = new Dictionary(); public CustomDataBinding() { _Properties[“Property1”] = “Property1”; _Properties[“Property2”] = “Property2”; […]

如何将工具提示数据绑定到绑定到DataTable的GridView?

直升机, 我试图将Tooltips添加到绑定到DataTable的GridView 。 如果我使用静态文本工具提示工作,所以我假设错误必须在数据绑定中。 在这里我的XAML : 这是我的自定义类TabModel : public ObservableCollection TabModels { get; set; } public class TabModel { public string Title { get; set; } public string TabCaption { get; set; } public DataTable TabDataTable { get; set; } public ObservableCollection ColumnDescriptions { get; set;} } 有人可以告诉我Databinding需要如何正确完成?

WPF中类似访问的数据导航?

在XAML / C#中以访问forms构建数据导航的最佳方法是什么? 我应该构建一个用户控件(甚至自定义控件),我只是绑定到我可以放置其他控件的集合中吗? (因此这个问题: 可以包含其他控件的C#用户控件(使用时) ) 或者我可以通过以某种方式从ItemsControl派生来构建一些东西? 怎么样? 或者今天这样做会完全不同(比如“这种导航风格去年就是这样!”)? 我对C#和所有人都比较陌生(不是这样编程,但更像是“家庭主妇语言”Access-VBA)我也不是英语母语人士。 所以请温柔=)

编辑ObservableCollection的SelectedItem没有绑定控件看到编辑直到它们被保存

我有一个包含ListView和“编辑”按钮的视图。 ListView的ItemSource绑定到底层视图模型上的ObservableCollection属性。 其SelectedItem属性也绑定到视图模型。 单击编辑按钮时,现有视图模型将启动编辑视图/视图模型对(“编辑屏幕”),允许用户编辑当前选定的Account 。 要编辑的Account由主视图模型的SelectedItem属性确定。 问题:即使在单击编辑屏幕的“保存”按钮之前,编辑屏幕中所做的任何更改都会立即反映在其他屏幕的ListView 。 为什么会发生这种情况有意义 – 在更改属性并且ListView正在处理这些通知时, Account正在提升属性更改事件。 期望的结果:绑定控件(如ListView )只应在单击“保存”后才能看到编辑屏幕更改。 可能的解决方案 在编辑过程中暂停帐户的属性更改通知。 缺点:如果在编辑Account实例时执行手动数据绑定更新,则“正在进行”更改将显示在ListView上,即使这些更改尚未引发通知。 此外,如果用户为同一个Account启动第二个编辑窗口,他们将看到“正在进行中”更改。 想法被拒绝。 让编辑屏幕视图模型将Account实例包装在某种EditingAccount类中,该类仅在调用Save()时Save()对其所做的更改复制回原始Account 。 编辑屏幕是否应承担促进此包装的责任,还是应该要求服务层执行此操作? 你怎么看待这些选择? 遇到它时如何解决这个问题?

使用按钮导航对象集合,并在面板中查看所选对象

这是我想要做的:我有一个List 。 现在我想在canvas(或任何其他容器)上显示该列表。 myCustomType每个属性(一些字符串,一个图像,一个字符串列表)都具有一个设计控件,即canvas。 基本上我想将canvas上的每个控件绑定到myCustomType上的一个属性。 然后我想在canvas上有一些按钮,允许我循环遍历List并同时更新所有控件,以便所有控件始终显示单个列表项的内容。 我一直在寻找,但找不到任何我可以用作起点的东西。 这容易实现吗? 或者我是否必须从头开始编写代码?

绑定列表框以索引C#

我不知道是否可能,但我想要的是类似的东西在WinForm listbox1有一个行列表(从文件复制) 在另一个Thread和类中,我在一个List上运行,该列包含我解析的每一行相同的行和DoSomething一旦我完成该行,我希望列表框中的索引改变 根据我的基本和有限的理解,我的方法是使用一个Event来激活forms,而不是使用Invoke(不用于交叉线程) 有没有办法以某种方式以我的for/foreach循环以某种方式绑定到listbox索引? class form { listBoxScript.SetSelected(ScriptCounter, true);<–bind the ScriptCounter? } 在另一个class级 class RunScript { //.. public void RunScriptList() { ScriptCounter = 0 ; foreach ( var cell in ScriptList) { ScriptCounter ++; //DoSomething } } }

使用ICollectionView过滤ObservableCollection

我有一个绑定到dataGrid ObservableCollection现在我想过滤所呈现的数据我看到我需要使用ICollectionView但我不知道如何使用我的MVVM模式添加ICollectionView 。 我简化的代码如下: public class MainViewModel : ViewModelBase , IBarcodeHandler { public ObservableCollection TraceItemCollectionViewSource { get; set; } } 我的XAML <Window xmlns:controls="clr-namespace:Mentor.Valor.vManage.RepairStation.Controls" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 我如何在这里添加ICollectionView以便对视图应用过滤?