Tag: 数据绑定

绑定到集合的视图,只需在WPF中调用ToString()

我将GridView绑定到一个对象集合,如下所示: public class Transaction { public string PersonName { get; set; } public DateTime TransactionDate { get; set; } public MoneyCollection TransactedMoney { get; set;} } MoneyCollection只是inheritance自ObservableCollection ,是MyMoney类型对象的集合。 在我的GridView中,我只想将列绑定到MoneyCollection的ToString()方法。 但是,将其直接绑定到TransactedMoney属性会使每个条目显示文本“(Collection)”,并且永远不会调用ToString()方法。 请注意, 我不想绑定到MoneyCollection中的项目 ,我想直接绑定到属性本身,只需在其上调用ToString() 。 我知道它绑定到集合的默认视图。 所以我的问题是 – 如何以一种调用ToString()方法的方式将其绑定到集合? 这是我的第一个WPF项目,所以我知道这可能有点愚蠢,但指针非常受欢迎。

将bool属性绑定到WinForm的BackColor属性

我在WinForm应用程序中有一个Form ,它包含一个TextBox ,这个TextBox绑定到Person对象的FirstName属性。 public class Person { string firstName; public string FirstName { get { return firstName; } set { firstName = value; this.isOdd = value.Length % 2; } } bool isOdd; public bool IsOdd { get {return isOdd; } } } 当我的应用程序运行时,此Form显示并且用户可以将他/她的名称键入TextBox,如何将Form BackColor属性绑定到Person对象的IsOdd属性(当IsOdd为True BackColor设置为Color.Green以及何时是否为False , BackColor设置为Color.Red )?

DataGridView绑定问题:“索引-1没有值。”

我有一个datagridview绑定到绑定源和窗体上的几个按钮。 一个按钮将一个项目添加到绑定源,另一个按钮删除当前选定的项目。 还有一个事件处理程序,它侦听CurrentChanged事件并更新“删除”按钮的“已启用”状态。 在我从datagridview中删除最后一项之前,所有东西都是笨拙的。 然后我看到一个非常丑陋的例外: at System.Windows.Forms.CurrencyManager.get_Item(Int32 index) at System.Windows.Forms.CurrencyManager.get_Current() at System.Windows.Forms.DataGridView.DataGridViewDataConnection.OnRowEnter(DataGridViewCellEventArgs e) at System.Windows.Forms.DataGridView.OnRowEnter(DataGridViewCell& dataGridViewCell, Int32 columnIndex, Int32 rowIndex, Boolean canCreateNewRow, Boolean validationFailureOccurred) at System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick) at System.Windows.Forms.DataGridView.SetAndSelectCurrentCellAddress(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick, Boolean clearSelection, Boolean forceCurrentCellSelection)\r\n at System.Windows.Forms.DataGridView.MakeFirstDisplayedCellCurrentCell(Boolean includeNewRow) at System.Windows.Forms.DataGridView.OnEnter(EventArgs […]

如何在不违反MVVM的情况下绑定到不可绑定的属性?

我使用SharpVector的SvgViewBox来显示这样的静态资源图像: 哪个工作正常。 但是,我希望通过绑定到视图模型来控制显示的图像。 我遇到的问题是SvgViewbox的Source属性不可绑定。 如何在不违反MVVM的情况下解决此限制(例如,将控件传递给视图模型并在其中进行修改)?

WPF DataBinding监视抛出的exception

在我的模型中,我有很多不同对象的属性,我在设置对象的值时检查值,如果值不被接受,我将抛出一个exception,这与Windows窗体属性网格完美配合,但现在我正在尝试使用WPF设计新界面。 在WPF中,当我将属性绑定到像文本框这样的控件时,当值更改时,我不知道如何处理exception并显示错误消息。 例子: public string ConnectionString { get { return (_ConnectionString); } set { try { _ConnectionString = value ; _SqlConnection = new System.Data.SqlClient.SqlConnection(_ConnectionString); _ConnectionTested = true; } catch (Exception caught) { _ConnectionTested = false; _TableNameTested = false; _FieldNameTested = false; _ConditionTested = false; _ConnectionString = “”; //—-delete values—- ValuesCollection.Clear(); throw (new Exception(“Can not Open […]

多个ComboBox绑定到公共源,强制执行不同的选择

我正在尝试将多个ComboBox绑定到一个公共源集合,并强制执行一次ComboBox选择后,所选项目将从其他ComboBox中删除。 该集合是动态构建的,所以我在代码中进行。 到目前为止,我已尝试以多种方式实现这一点,而我似乎无法想出一些真正有用的东西。 我已经尝试使用默认视图的Filter谓词,但它只传递了该项,我无法知道哪个控件正在进行过滤(它在概念上甚至没有意义)。 我已经尝试创建新的CollectionView,但行为最终会有所不同(获取SelectionChange事件,而我之前没有使用默认视图)。 几个小时以来我一直在反对这个问题,而且似乎并不想工作。 我希望有更多经验丰富的WPF帮助我找到一个有效的例子。 我真的希望它不会从集合中自动选择项目并开始空白(否则,每个ComboBox将有一个独特的自动选择,这太过于冒昧)。 我真的很接近允许广泛选择并在以后validation它,但这似乎是一个如此简单的概念,有这么难以置信的困难。 谢谢

如何将xaml中的datatrigger绑定到代码定义的依赖项属性?

我在窗口后面的代码定义了一个依赖属性,“Active”…… public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public bool Active { get { return (bool) GetValue(ActiveProperty); } set { SetValue(ActiveProperty, value); } } public static readonly DependencyProperty ActiveProperty = DependencyProperty.Register(“Active”, typeof(bool), typeof(MainWindow), new UIPropertyMetadata(false)); } 然后我使用xaml中的两个复选框绑定到该属性。 我还想根据该属性更改矩形的填充。 我怎样才能做到这一点? 选中一个框会自动检查另一个,但不会更改矩形颜色:(

Win XP(x86)操作系统上的二级属性绑定exception,但不是Win 7(x64)

我很难过。 我的c#AddressForm上有以下行 lkuCounty.DataBindings.Add(“EditValue”, Address, “County.CountyID”, true); 这适用于64位Win7机箱但在Win XP 32位机器上我得到以下例外: Type: System.ArgumentException Message: Cannot bind to the property or column CountyID on the DataSource. Parameter name: dataMember 我猜我错过了一些细微差别,真的很感激一些帮助。 这是我的类(没有构造函数),它们位于一个单独的项目中( myproject.Common ) public class County { public short? CountyID { get; set; } public string CountyName { get; set; } } public class Address { public int […]

使用INotifyPropertyChanged绑定到Silverlight中的字典

在Silverlight中,我无法让INotifyPropertyChanged在绑定到字典时像我想要的那样工作。 在下面的示例中,页面可以正常绑定到字典,但是当我更改其中一个文本框的内容时,不会调用CustomProperties属性setter。 CustomProperties属性设置器仅在设置CustomProperties时调用,而不是在设置其中的值时调用。 我试图对字典值进行一些validation,所以我希望在字典中的每个值都改变时运行一些代码。 我能在这做什么吗? C# public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); MyEntity ent = new MyEntity(); ent.CustomProperties.Add(“Title”, “Mr”); ent.CustomProperties.Add(“FirstName”, “John”); ent.CustomProperties.Add(“Name”, “Smith”); this.DataContext = ent; } } public class MyEntity : INotifyPropertyChanged { public event PropertyChangedEventHandler System.ComponentModel.INotifyPropertyChanged.PropertyChanged; public delegate void PropertyChangedEventHandler(object sender, System.ComponentModel.PropertyChangedEventArgs e); private Dictionary _customProps; public Dictionary […]

Caliburn Micro Xamarin的数据绑定操作顺序

什么是Caliburn.Micro Xamarin Android(Mono.Android)中的数据绑定的“操作顺序”(OOP)? PS:解释/比较Caliburn Micro Standard / WPF,Caliburn Micro Android和Caliburn Micro iOS(即Caliburn.Micro Xamarin)中的绑定方式的教程将非常有用,并且是对Caliburn Micro Xamarin的一个很好的介绍。 对于常规的Caliburn.Micro,OOP for Binding是(如果我错了,请纠正我): 在ViewModel中声明Field 在字段集上:调用NotifyOfPropertyChange(..) 使用XAML属性x:Name将View绑定到ViewModel 我已经检查了示例项目Hello.Xamarin和HubBrowser ,我想我有点想法它是如何工作的,但看起来需要很多设置。 对于Caliburn.Micro Xamarin Android是绑定OOP有点像……? 扩展NotifyPropertyChanged方法。 不知道为什么……也许这对Android有用吗? 我们生成一个名为NotifyPropertyChangedExtensions的静态类 在ViewModel中声明字段(与标准CM相同) 在字段集上:调用NotifyOfPropertyChange(..) (与标准CM相同) 为所有View小部件提供唯一的id android:id 在视图(活动)创建上:以某种方式将View小部件绑定到ViewModel字段?