Silverlight 中的相对绑定

发布于 2024-12-11 11:56:48 字数 635 浏览 0 评论 0原文

我的应用程序中有一个 ItemsControl。与 ItemsControl 关联的页面绑定到视图模型。视图模型包括两个属性:People 和 Options。对于每个人,我想在组合框中显示选项列表。这些选项是在我的视图模型中定义的。我的代码如下所示:

<ItemsControl ItemsSource="{Binding Path=People}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal">
        <ComboBox ItemsSource="Options" DisplayMemberPath="FullName" />
      </StackPanel>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

但是,因为每个 Item 代表一个 Person,所以 ComboBox 正在查看 Person 对象中名为“Options”的属性。如何从 ComboBox 而不是 Person 引用视图模型?

谢谢!

I have an ItemsControl in my application. The page associated with the ItemsControl is bound to a view-model. The view-model includes two properties: People and Options. For each person, I want to display a list of options in a ComboBox. The options are defined in my view-model. My code looks like the following:

<ItemsControl ItemsSource="{Binding Path=People}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <StackPanel Orientation="Horizontal">
        <ComboBox ItemsSource="Options" DisplayMemberPath="FullName" />
      </StackPanel>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

However, because each Item represents a Person, the ComboBox is looking at the Person object for a property called "Options". How do I reference the view model for the from the ComboBox instead of the Person?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼中杀气 2024-12-18 11:56:48

您可以使用以下技术

<ComboBox ItemsSource="{Binding ElementName=LayoutRoot, Path=DataContext.Options}" DisplayMemberPath="FullName" />

假设您的 LayoutRoot 的 DataContext 是视图模型。如果没有,您可以为 ItemsControl 指定一个名称,并将其用作 ElementName。

You can use the following technique

<ComboBox ItemsSource="{Binding ElementName=LayoutRoot, Path=DataContext.Options}" DisplayMemberPath="FullName" />

Assuming that your LayoutRoot's DataContext is the View Model. If not you can give your ItemsControl a name and use that for the ElementName.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文