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>
我想绑定到一组自制自定义 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>