C# Silverlight&;WPF-DataContext和PropertyChangedEvents的启动方式
你好,塔克洛维安人 关于如何确保Silverlight或WPF视图正确启动NotifyPropertyChanged事件,我有一个问题 我在Silverlight应用程序中有一个案例,我这样设置了我的DataContextC# Silverlight&;WPF-DataContext和PropertyChangedEvents的启动方式,c#,silverlight,entity-framework-4,binding,C#,Silverlight,Entity Framework 4,Binding,你好,塔克洛维安人 关于如何确保Silverlight或WPF视图正确启动NotifyPropertyChanged事件,我有一个问题 我在Silverlight应用程序中有一个案例,我这样设置了我的DataContext public SubTopic SubTopicItem { get { return (SubTopic)GetValue(SubTopicItemProperty); } set { SetValue(Su
public SubTopic SubTopicItem
{
get { return (SubTopic)GetValue(SubTopicItemProperty); }
set { SetValue(SubTopicItemProperty, value); }
}
// Using a DependencyProperty as the backing store for SubTopicItem. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SubTopicItemProperty =
DependencyProperty.Register("SubTopicItem", typeof(SubTopic), typeof(AddModifySubTopic), new PropertyMetadata(null));
public AddModifySubTopic()
{
InitializeComponent();
this.DataContext = this;
}
我遇到了一些数据网格的问题,这些数据网格从这个对象上的一些EntityProperty中提取数据
我的主要问题是,如果不使用
public AddModifySubTopic()
{
InitializeComponent();
this.DataContext = this;
}
我使用:
public AddModifySubTopic()
{
InitializeComponent();
this.DataContext = SubTopicItem;
}
Silverlight或WPF框架是否会更直接地处理DataContext,并在对象的整个生命周期内通知是否有任何属性或实体集发生更改
目前,我需要使用
DataGridName.SetValue(DataGrid.ItemsSourceProperty, SubTopicItem);
谢谢大家
干杯
Robbie听起来你在数据绑定方面有问题。我认为你发布的大部分代码不会对这个问题有多大帮助 如果绑定不起作用,则几乎总是出现以下问题:
列表中
并且
问题更多的是问什么是最好的方法?
this.DataContext=DEPENDENCYOBJECT或this.DataContext=
子窗口/页面等
设置DataContext的方式不应影响绑定的操作方式(在其他条件相同的情况下)
如果您确实在使用
列表
,这可能是您的问题,因为集合更改通知与属性更改通知的工作方式不同。您将要绑定到一个可观察集合
。如果生成了实体类,我不确定这是否是一个选项,但可能是(我不是实体框架专家)。是否使用过MVVMLight toolkit???@GlennFerrieLive-不,我实际上没有,现在正在查找它。你认为这会对我有所帮助吗?我的绑定工作得非常好,并且对象是一个EntityObject,它已经默认实现了NotifyPropertyChanged(我相信)。当一个新项目被添加到一个列表中时,问题就出现了,问题更多的是问什么是最好的方法?this.DataContext=DEPENDENCYOBJECT或this.DataContext=CHILDWINDOW/PAGE等。谢谢Phil,将我的集合类型更改为可观察集合修复了所有问题。