0

我想知道如何绑定到用于项目控制的列表的第 i 个元素。

我的代码如下所示:

<ItemsControl x:Name ="Signalviewer_Control" ItemsSource="{Binding Source = {StaticResource signal_data}, Path = list_of_signals}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <wpfExp:SignalViewer Signal={StaticResource signal_data}, Path=list_of_signals[i]/>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

不用说我不认为 list_of_signals[i] 是有效的语法。但基本上我想做的是让 itemscontrol 创建它的默认堆栈面板,其中列表中的每个项目都会创建一个新的信号查看器。然后,我想将创建的 signalviewer 的依赖属性绑定到静态资源中的 signaldata。但是,我不知道如何访问与第 i 个信号查看器对应的特定信号。

谢谢你的帮助。

编辑:也许它必须在后面的代码中完成?我只是想知道是否可以只使用 xaml。

4

1 回答 1

2

中的DataContext每个 UI 项ItemsControl都会自动分配给源集合中的相应数据项。因此这是有效的,并且会起作用:

<ItemsControl x:Name ="Signalviewer_Control" ItemsSource="{Binding Source = {StaticResource signal_data}, Path = list_of_signals}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <wpfExp:SignalViewer Signal="{Binding}"/>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>
于 2013-06-06T20:44:20.367 回答