问题标签 [datacontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3071 浏览

mvvm - MVVM + Datacontext + DataTemplate + Blend = problems

I'm currently using MVVM in a WPF project, all works very well. I have one Master view and many Detail views that I manage using a currentView property in my MasterViewModel. By using a datatemplate, I bind a view to a viewmodel. In fact, my master view has a contentcontrol whose content property is binded to my CurrentView property. When I set this currentview property to a viewmodel or another, it calls the corresponding template.

My problem is that using this, my detail views doesn't have explicit datacontext because it is placed by my datatemplate. So in blend, when I open my view to edit its design, I have no datas to bind to my view. If I set a datacontext to my detailview, in blend I can see all datas I can bind but in runtime, the datacontext set by datatemplate is overrided by the datacontext set in my detailview, so I have no datas during runtime.

Does anyone knows how I can create a good MVVM project, with views managed by datatemplates and with datacontext that we can see with Blend ?

Thanks,

0 投票
2 回答
4396 浏览

wpf - WPF:为什么 DataContextChanged 没有在逻辑孩子上提出?

我的自定义面板控件的逻辑子级没有引发DataContextChanged的​​问题。我把它缩小到这个:

从向导生成的 WPF 应用程序开始,我添加:

据我了解,这是有效的,因为DataContext是一个可继承的依赖属性

现在,我在 Window (this) 及其逻辑子项上为DataContextChanged添加事件处理程序:

如果我运行它,只会执行第一个事件处理程序为什么是这样?如果不是 AddLogicalChild( elt ) 我执行以下操作:

两个处理程序都将执行。但在我的情况下,这不是一个选项 - 我将 FrameworkContentElements 添加到我的控件中,这些控件不应该是可视子项。

这里发生了什么?除了 AddLogicalChild() 之外,我还应该做更多的事情来使它工作吗?

(幸运的是,有一个相当简单的解决方法——只需将元素的 DataContext 绑定到窗口的 DataContext 即可)

谢谢你。

0 投票
5 回答
12918 浏览

.net - Linq:获取 DataContext 中所有表的列表

我有一个包含 100 多个表的 DataContext(Linq to Sql),是否可以获取所有这些表的列表,然后将它们打印到控制台?这可能是一个愚蠢的问题。

谢谢。

0 投票
1 回答
1639 浏览

silverlight - Silverlight:将数据上下文应用于样式中的元素

我已经在app.xaml. 此样式包含几个文本块,当我将样式应用于对象时,我想控制这些文本块,在本例中为 UserPin。如何访问这些 TextBlocks 运行时?我通过以下方式获得风格:

样式如下所示:

TextBlock我要设置的值是txtBottom. 如您所见,我尝试将数据上下文和数据绑定应用于该字段。这可行,但所有对象当然都会获得值“初始名称”。

我的问题是:

  1. 我如何应用我的数据上下文进行txtBottom.Text更改,或者
  2. 如何在没有数据绑定的情况下更改TextBlock命名的值?txtBottom
  3. 简而言之,我可以访问这些字段或属性吗?

运行时:) 到目前为止,我发现触发器只能在 WPF 中使用。

我想到了这样的事情:

locationData我的对象在哪里包含数据。

如果有人想知道;我在地图上放置图标并想命名它们。

0 投票
1 回答
1347 浏览

wpf - 不,装饰器不会在 WPF 中自动获取其 AdornedElement 的 DataContext

原始问题:AdornerWPF 中是否自动继承其“AdornedElement”的“DataContext”?

0 投票
4 回答
6388 浏览

c# - c#: 如何传递 linq-objects

当显示我的主窗口时,我列出了来自 linq-to-sql 的对象:

现在,当我双击列表中的一个项目时,我想在新的用户控件中使用选定的对象:

现在,这会导致异常:

System.ObjectDisposedException 未处理
Message="无法访问已释放的对象。\r\n对象名称: 'DataContext 在 Dispose 之后访问。'。"
Source="System.Data.Linq"
ObjectName="Dispose 后访问的 DataContext。"

我想这是将列表绑定到节目季列表的结果,并且需要填充季列表或其他内容:

现在,我想知道,这应该怎么做?我是否需要创建一个新的 DataContext 对象并再次检索选定的节目,或者是否可以使用新的数据上下文重新连接我的节目以填充季节列表?

我想我有点迷路了......

0 投票
4 回答
4064 浏览

c# - 包含 View 的 View 中如何继承 DataContext?

我正在重建Josh Smith 的 WPF CommandSink 示例,关于他的数据绑定,我有一些不明白的地方,尤其是当一个视图包含在另一个视图中时如何继承数据上下文,而另一个视图包含在具有数据上下文的窗口中。

  • 所有数据绑定都在 XAML 文件中声明,窗口或任何一个视图后面绝对没有代码(很好)
  • 顶部窗口将其 DataContext 定义为 CommunityViewModel 并简单地显示 CommunityView
  • 问题:那么现在在 CommunityViewModel 中,jas:CommandSinkBinding.CommandSink="{Binding}"实际上做了什么?“CommandSink”是一个附加属性,所以这是“附加”来自 DemoWindow 的继承绑定作为 CommandSinkBinding 对象上名为“CommandSink”的附加属性的值吗?

  • 问题:另外,PersonView 似乎没有 DataContext 但它有诸如<TextBlock Text="{Binding Name}" Width="60" />假定设置了绑定的行。那么 PersonView 会自动从 CommunityView 的行中获取绑定ItemsSource="{Binding People}"吗?

感谢您在这里的任何澄清。

DemoWindow.xaml:

CommunityView.xaml:

人视图.xml:

0 投票
1 回答
6275 浏览

c# - IN 语句中的 Datacontext ExecuteCommand 参数

使用从 C# LinQ 到 sql数据上下文运行自定义sql语句的最佳方法是什么?IN我努力了:

这对于通过表单传递的 1 项很好,但如果我通过例如“2,1”发布,那么我会得到一个sqlclient异常:

将 nvarchar 值“2,1”转换为数据类型 int 时转换失败。

相反,如果我使用 string.format 插入参数,它可以正常工作,但显然这对 sql 注入是开放的。

0 投票
2 回答
3876 浏览

asp.net - 使用 DataContext 静态变量

我最近继承了一个使用 Linq2SQL 的 ASP.Net 应用程序。目前,它在每个页面中都将其 DataContext 对象声明为静态,并且在我第一次发现它们为空(单例)时创建它们。

如果这是好的或坏的,我需要评论。在我只需要从数据库中读取的情况下以及在我需要写入的情况下。

整个应用程序只有一个 DataContext 实例怎么样?

0 投票
2 回答
17290 浏览

wpf - 为什么 DataContext 和 ItemsSource 不是多余的?

在 WPF 数据绑定中,我知道您有DataContext哪个告诉元素它将绑定到哪些数据以及ItemsSource哪个“进行绑定”。

但是例如在这个简单的例子中,它似乎没有ItemsSource做任何有用的事情,因为除了绑定到它之外,您还希望元素对它做DataContext什么?

而在更复杂的例子中ItemsSource,你的路径和源头似乎正在侵占DataContext.

理解这两个概念以了解何时以及如何在各种编码场景中应用它们的最佳方法是什么?