- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个应用程序,您可以在其中选择列表框中的不同对象。当您选择一个对象时,它会更改控件的 View 模型。该控件使用 CodePlex 中的时间线控件,因此,我将时间线数据的 StartDate 和 EndDate 绑定(bind)到 ViewModel。更改 ViewModel 时,有时会出现错误:
ArgumentOutOfRangeException: MaxDateTime cannot be less then MinDateTime
只有当我从较晚的日期转到较早的日期时才会发生这种情况。我很确定这是由于属性自动更新到 View 的方式所致。这是相关的 XAML。
MaxDateTime="{Binding Path=RecordingEnd}"
MinDateTime="{Binding Path=RecordingStart}"
CurrentDateTime="{Binding Path=CurrentDateTime, Mode=TwoWay}"
ViewModel 有这个:
private int myObjectIndex;
public int MyObjectIndex
{
get { return myObjectIndex; }
set { myObjectIndex = value; OnPropertyChanged("MyObjectIndex"); MyObject = MyObjects[myObjectIndex]; }
}
private MyObjectViewModel myObject=new MyObjectViewModel();
public MyObjectViewModel MyObject {
get { return myObject; }
set
{
myObject= value;
OnPropertyChanged("MyObject");
}
}
这个问题有办法解决吗?有没有办法告诉 WPF 应该更新对象中的参数的顺序?
更新:我最终使用了@colinsmith 响应的变体:
public MyObjectViewModel MyObject {
get { return myObject; }
set
{
myObject= new MyObjectViewModel();
OnPropertyChanged("MyObject");
myObject= value;
OnPropertyChanged("MyObject");
}
}
最佳答案
你能试试这个吗:
public MyObjectViewModel MyObject {
get { return myObject; }
set
{
myObject=null;
OnPropertyChanged("MyObject");
myObject= value;
OnPropertyChanged("MyObject");
}
}
关于c# - OnPropertyChange 触发顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971924/
我正在尝试解决在 WPF 中实现 MVVM 时遇到的问题。我的 Contact下面的类是由 Entity Framework 填充的我的模型。 public class Contact : INoti
这是我需要的一个简化示例: 我有一个具有属性名称的 A 类。 Name 属性是异步更改的,无法知道何时发生修改。 为了在 View 中显示它的更新值,我连线了 propertychanged事件并将其
WFP(MVVM)的新手,这似乎是处理用户更改的典型方式: private bool someProperty= false; public bool SomeProperty {
要检测文本框中的更改,我必须在 IE 中使用“onpropertychange”(其他版本为“oninput”)“onpropertychange”的行为与“oninput”非常相似,但它也是由非用户
我正在尝试将 xaml 中的标签内容绑定(bind)到后面的 C# 中的公共(public)变量。当从未从 UI 设置值时,它应该触发 C# 中的值。 这个 VS2008 C# + WPF 但是,它没
所以我有这个对象: public class SomeObject: INotifyPropertyChanged { public decimal AlertLevel {
我正在尝试创建一个 XF 组件,其某些属性属于从 BindableObject 继承的类型。为了说明,我有类 Shadow 和 double Radius 和 Color ShadowColor 属性
我有一个检查电子邮件地址的自定义行为 using System; using System.Collections.Generic; using System.Text; using System.T
我有非常大的网格。我想使用 CheckBox“选中/取消选中所有”,它将选中/取消选中所有行。但是它非常慢,因为有很多 OnPtopertyChanged 事件的调用。如何仅为可见元素引发 OnPro
似乎看不出我哪里出错了? OnPropertyChange 没有被重新认可有什么建议吗? public class MedicationList : INotifyPropertyChanged
我有一个应用程序,您可以在其中选择列表框中的不同对象。当您选择一个对象时,它会更改控件的 View 模型。该控件使用 CodePlex 中的时间线控件,因此,我将时间线数据的 StartDate 和
我不太精通基于事件的编程。基本上,我还在摸索着它。我正在尝试设置一些东西,但即使有了教程,我也无法全神贯注。我想做的(用文字)如下: 我有一个属性更改的数据对象。我在属性的 setter 中注意到这一
我使用的是 IE 9,我调用: document.attachEvent('onpropertychange', function(){ console.log("triggered"); }
select $('#select-handler').click(function(){ $('#real-file-input').click(); }); $('#real-file-
我有一个网页,上面有一个输入按钮。单击此按钮,将在特定的 div 中加载一些数据。我的问题是我无法捕获此数据。 下面的代码是我尝试解决这个问题,但是没有成功。 private void webBrow
我检查了这里的其他链接,但我无法真正得到正确的答案。我有 xaml,它由两个文本框组成。第一个是小时,而下一个是分钟。每当我更改文本框中的小时值时,分钟都应重置为 0。如何使用 OnPropertyC
我正在尝试使用 IDataErrorInfo 捕获错误,但绑定(bind)数据中的更改不会触发 IdataErrorInfo.this[]。我相信这是因为我将数据绑定(bind)到文本框的方式。 我的
如何使用 JavaScript 处理 Firefox 中文本框的 onpropertychange? 下面是一个例子: var headerBGColorTextBox = document.getE
这是我的模型类,我对这个问题感兴趣的专栏: public class Cell : INotifyPropertyChanged { public string TestImageAspect
在 View 模型中,我有一个名为“MyCollection”的“ClassA”类型的项目集合。 ClassA 有一个名为“IsEnabled”的属性。 class MyViewModel {
我是一名优秀的程序员,十分优秀!