WPF 绑定到控件集合

WPF bind to collection of controls

我想绑定到一组自制自定义 controls.I 有一组对象(称为参数),其中每个对象都应由自定义控件显示在面板中。 我的主要内容如下 window:

<ItemsControl Grid.Column="1"
    ItemsSource="{Binding Path=Parameters}">  
</ItemsControl>

并且我有一个资源文件来声明如何查看每个Parameter对象:

<DataTemplate DataType="{x:Type path:Parameter}">
    <Grid>              
        <myControls:MyUserControl
            Parameter="{Binding RelativeSource={RelativeSource Self}}">
        </myControls:MyUserUserControl> 
    </Grid>
</DataTemplate>

我的控件需要一个参数,所以我想为集合中的每个项目将它绑定到自身。我该如何绑定?

在用作 ItemsControl 中的 ItemTemplate 的 DataTemplate 中,DataContext 保存源集合的各个项目。因此绑定应该是这样的:

<myControls:MyUserControl Parameter="{Binding}" />

并且 ItemsControl 可以这样写以显式使用 DataTemplate:

<ItemsControl ItemsSource="{Binding Path=Parameters}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Grid>              
                <myControls:MyUserControl Parameter="{Binding}" /> 
            </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>