首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置ItemsSource?

如何设置ItemsSource?
EN

Stack Overflow用户
提问于 2010-05-06 07:28:58
回答 3查看 8.2K关注 0票数 3

此对话框对我没有任何意义

http://img576.imageshack.us/img576/4223/50709706.gif

我很难找到关于它的好的教程。大多数示例都不够详细,或者是通过代码来完成的,但我希望尽可能多地利用IDE。

ItemsSourceDataContext之间的区别是什么

我只想把它绑定到初学者的列表中。我不需要SQL或数据库或任何花哨的东西。我应该在哪里声明我的列表?在MainWindow.xaml.cs?如何使其出现在该对话框中?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-06 09:00:22

可以将"DataContext“作为绑定中"Source”的默认值。

创建绑定时,可以指定路径和源,如下所示(我将以TextBox为例):

代码语言:javascript
复制
<TextBox Text="{Binding Path=Foo,Source={StaticResource Bar}}" />

因此,我的TextBox.Text属性被绑定到一个名为Bar (应用程序中某处的资源)的对象上的Foo属性。

但是,如果您有一大堆东西要绑定到Bar上的属性,那么将Bar设置为父容器的DataContext会更容易一些。默认情况下,没有源的绑定将只使用DataContext,并且DataContext从父控件流向子控件。所以:

代码语言:javascript
复制
<StackPanel DataContext="{StaticResource Bar}">
    <TextBox Text="{Binding Path=Foo}" />
    <TextBox Text="{Binding Path=Fizz}" />
    <TextBox Text="{Binding Path=Buzz}" />
</StackPanel>

所有的TextBoxes仍然绑定到栏上的属性,但它们没有显式地将其设置为源。

让我们再看一看你发布的对话框。它为您提供了ItemsSource绑定的“源”的几个选项。当你选择" DataContext“时,你是在告诉Visual Studio,ItemsControl不需要知道源代码--它会从父容器(甚至可能是窗口本身)的DataContext中获取源代码。

如果您选择了其他选项之一(ElementName、RelativeSource或StaticResource),那么您将为该ItemsControl显式设置绑定的源。

一旦你告诉它绑定到DataContext,你需要进入对话框的“路径”部分,并告诉它绑定控件的项到哪个属性。最后,标记将如下所示(假设它是一个ListBox):

代码语言:javascript
复制
<ListBox ItemsSource="{Binding Path=Foos}" />

因此,ListBox中的项来自名为"Foos“的属性,该属性位于逻辑树中较高位置(可能位于窗口本身)的DataContext中的某个对象上。

票数 5
EN

Stack Overflow用户

发布于 2010-05-06 09:16:16

您很少需要在控件外部使用控件的数据上下文。设置DataContext(DataContext = this;)的最常见用例是在UserControl的代码隐藏中,使UserControl中的所有控件都绑定到控件的属性。

当您使用ListBox时,设置ItemsSource就足够了,除非您正在做一些时髦的事情。

票数 1
EN

Stack Overflow用户

发布于 2010-05-06 14:28:46

这是一个非常好的演练:http://windowsclient.net/learn/video.aspx?v=315275

具体地说,您需要首先设置DataContext,告诉它在哪里查找ItemsSource。最简单的方法是通过XAML在窗口上设置:

代码语言:javascript
复制
<Window.DataContext>
    <controllers:DownloadManager />
</Window.DataContext>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2777450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档