- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于the MSDN article of Josh Smith on MVVM和示例应用程序。我知道关于这个话题有很多关于 SO 的问题,我已经探索了所有问题。他们中的大多数都专注于 MVVM,但我认为我的问题是 XAML 比 MVVM 更相关。
示例应用程序包含工作区区域的以下 XAML -
<Border Grid.Column="2" Style="{StaticResource MainBorderStyle}">
<ContentControl Content="{Binding Path=Workspaces}" ContentTemplate="{StaticResource ResourceKey=WorkspacesTemplate}"/>
</Border>
相关资源是——
//Explains how to render the 'Workspace' content area in the main window
<DataTemplate x:Key="WorkspacesTemplate">
<TabControl Margin="4" ItemsSource="{Binding}"
IsSynchronizedWithCurrentItem="True"
ItemTemplate="{StaticResource ResourceKey=ClosableTabItemTemplate}"/>
</DataTemplate>
//Explains how to render a tab item with a close button
<DataTemplate x:Key="ClosableTabItemTemplate">
<DockPanel Width="120">
<Button Command="{Binding Path=CloseCommand}" Content="X" Cursor="Hand"
DockPanel.Dock="Right" Focusable="False" FontFamily="Courier"
FontSize="9" FontWeight="Bold" Margin="0,1,0,0" Padding="0"
VerticalContentAlignment="Bottom" Width="16" Height="16"/>
<ContentPresenter Content="{Binding Path=DisplayName}" VerticalAlignment="Center"/>
</DockPanel>
</DataTemplate>
我还是不明白-
ItemsSource="{Binding}"
应该将 ItemsSource 直接绑定(bind)到 TabControl 的 DataContext,而不是绑定(bind)到 DataContext 的任何属性。但是 TabControl 的 DataContext 到底在哪里设置?Content="{Binding Path=Workspaces}"
如何在 TabControl 的 ItemsSource 和工作区(WorkspaceViewModel 的 ObservableCollection)之间创建绑定(bind)?TabItem
的Content
属性接收一个 ViewModelBase 派生对象来显示。如何 ?!?好的,通过数据绑定(bind)。但对我来说,这实在是太抽象了。 一般来说,我错过了绑定(bind)在幕后流过/处理这两个资源的方式
以加载 TabItems 中的 View 。对我来说,这就像是,是什么导致什么被绑定(bind)到什么。
这篇传奇文章和示例应用程序对 WPF/MVVM 初学者非常有用。但这并没有太多的阐述。我自己已经学会了将 MVVM 与这个一起使用。我认为 是 并且 将是 一些像我一样的人。那么,任何人都可以更详细地解释一下绑定(bind)序列吗?
相关说明:
也许它会给你一些我在这方面已经知道的东西的提示,并帮助你回答。我是初级 WPF 应用程序开发人员。以我对 XAML 的不太好知识 -
DataTemplate
了解当出现 ViewModel 类型时显示 View,然后将 ViewModel 设置为该 View 的 DataContext 的神奇之处最佳答案
The syntax ItemsSource="{Binding}" should bind the ItemsSource directly to the TabControl’s DataContext, rather than to any of the DataContext’s properties. But where exactly is the TabControl’s DataContext being set?
由于是数据模板,TabControl
将其 DataContext
设置(由 WPF)为其模板化的数据项。事实上,数据模板中的根级项将具有由 WPF 设置的 DataContext
。在本例中,它是一个 TabControl
。
由于数据模板被分配给ContentControl
的ContentTemplate
属性,它会自动接收ContentControl
的Content
作为它的 DataContext
。
How exactly is Content="{Binding Path=Workspaces}" creating a binding between ItemsSource of the TabControl and the Workspaces (the ObservableCollection of WorkspaceViewModel)?
我认为我之前的回答解决了这个问题,但让我以直接回答这个问题的形式重申一下。 ContentControl
上的绑定(bind)可确保将 DataTemplate
的 DataContext
设置为工作区集合。因此,TabControl
可以通过指定一个没有 Path
的 Binding
来绑定(bind)到工作区集合。
The article says By relying on data binding, the Content property of a TabItem receives a ViewModelBase-derived object to display. How ?!? Ok, through data binding. But that is just too much to abstract away, for me.
同样,这归结为 WPF 自动分配正确的对象作为生成项的数据上下文(在本例中为 TabItem
)。当 ItemsControl
(例如 TabControl
)绑定(bind)到集合时,它会为集合中的每个项目生成一个容器(在本例中为 TabItem
)绑定(bind)的集合。容器自动接收数据项(在本例中为工作区 View 模型)作为其数据上下文。
关于wpf - 约什史密斯的传奇文章 : I need a bit more on the DataBinding that takes place,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12388402/
我正在尝试创建一个 Django 网站,每次在本地主机上运行/articles/api/article 页面时:我都会收到此回溯: Environment: Request Method: GET R
我正在尽最大努力理解开放图谱协议(protocol)中的一切含义阅读 FB page在上面和 OGP Page .这在 FB 和 OGP 的世界中究竟意味着什么: Note that the Open
我的 HTML/CSS 中存在页脚与文章内容重叠的问题。是的,我一直在网上搜索但似乎没有任何效果,我希望你知道它有什么问题。我在这里做了一个codepen: CodePen LINK
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我可以将变量作为警报显示在函数中,但无法将变量传递给文章。我做错了什么? 我知道“a”保存了正确的信息,因为我已经通过警报显示了它。 我尝试使用以下方式传递变量:placeholderContent.
这个问题已经有答案了: Rails article helper - "a" or "an" (6 个回答) 已关闭 3 年前。 是否有类似 [#pluralize in ActiveSupport]
这个问题已经有答案了: Rails article helper - "a" or "an" (6 个回答) 已关闭 3 年前。 是否有类似 [#pluralize in ActiveSupport]
我有以下型号。 Book has Articles (Article has foreign key to Book) Article has Images (Article has upto #ma
我创建了一个页面,该页面显示了单个 类别下的所有帖子,即如果我单击类别音乐,我将获得与音乐类别相关的所有文章。 但我的目标是创建一个过滤选项,它可以过滤掉某些类别,并且只显示与您过滤的类别相关的所有帖
我使用这样的代码: $query = "SELECT introtext FROM #__content WHERE alias = '$alias'"; $db->setQuery($query);
我在主页上设置了一些特色文章。显示的所有文章似乎都剩下太多填充。我知道足以进入 css 并在 layout.css 上编辑 .itembody 的填充或边距,但似乎没有任何改变。我希望我的文章通过模块
ORM 中存储文章及其修订的最佳实践是什么?当我自己用SQL存储时,我曾经有以下结构: articles [id, parent_id, name, text] 通过parent_id,我可以轻松识
我的 HTML : Interest About Interest
我正在用jade构建一个nodejs、express、mongodb博客。 我的文件夹结构是:项目/ 模块/ 观点/ 索引.jade 应用程序.js 文章提供者内存.js 文章provider-mon
我的问题比较具体,至少对我来说是这样。具体是因为在做了很多搜索之后我找不到任何有用的东西。因此,正如标题所说,我正在寻找一种算法,它会发现输入中给出的两篇文章是否“匹配”,但不是通常的字符串匹配意义上
关闭。这个问题是off-topic .它目前不接受答案。 9年前关闭。 锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我无法弄清楚动态编程的原
我有这个问题。我正在建立一个社交网站,我必须在两栏中创建帖子。父容器是一个部分,元素“post”是样式为 float: left 的文章。我如何让滑到那些较短的下方创建的空白空间的帖子? 最佳答案 c
这里有几个关于文件与数据库的问题,但我仍然不确定使用什么以及为什么在我的案例中应该使用它。 我的网站上有很多 HTML 文章(长度在几百到几千字之间)。在数据库 (MySQL) 中,我有一个没有搜索索
微信公众号文章 Semantic Kernel —— LangChain 的替代品? [1] ,它使用的示例代码是Python ,他却发了这么一个疑问: 支持的语言对比(因为 Sem
我想编写一个 polymer 元素来显示一些 WordPress 文章。 http://www.jsv-lippstadt.de/?json=get_category_posts&slug=app
我是一名优秀的程序员,十分优秀!