【问题标题】:bind item's children control in ItemsControl wpf在 ItemsControl wpf 中绑定项目的子控件
【发布时间】:2013-04-13 17:02:48
【问题描述】:

我正在将一个 ItemsControl 绑定到一个列表,但是在项目模板中有一个控件没有被当前数据源绑定,我想将它与另一个数据源绑定。

但我无法访问该控件

我的ItemsControl的dataTemplate是--->

<ItemsControl x:Name="ItemRequesterList" IsTabStop="False">
    <ItemsControl.ItemTemplate>
         <DataTemplate x:Name="ItemReqTemplate">
             <StackPanel Margin="10,0,0,0">
                <TextBlock Text="{Binding DisplayName}"></TextBlock>
                <TextBlock Text="requested on"></TextBlock>
                <TextBlock Text="{Binding}"></TextBlock> //<---this control, i 
                                               //    want to bind with another dataSource
             </StackPanel> 
        </DataTemplate>

那么我怎样才能访问这个控件,它位于每个项目中?

【问题讨论】:

  • 第一个DataSource和第二个DataSource的item是什么关系??索引??
  • 第二个数据源在哪里?它是静态的,父 DataContext 的一部分,另一个控件的 DataContext?
  • @sa_ddam213:第一个和第二个数据源之间没有关系。
  • @Toni Petrina:第二个数据源在哪里重要吗?
  • 答案取决于第二个数据源在哪里。这个问题没有单一的解决方案。

标签: c# wpf windows-phone-7 itemscontrol


【解决方案1】:

您可以将该控件的 DataContext 绑定到某个静态资源,例如:

<TextBlock Text="{Binding}" DataContext="{StaticResource myOtherContext}"></TextBlock>

请参阅以下内容:

Silverlight - Setting DataContext in XAML rather than in constructor?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-16
    • 2011-03-27
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多