WPF用户控件绑定问题
我有以下嵌入在另一个用户控件中的用户控件WPF用户控件绑定问题,wpf,silverlight,Wpf,Silverlight,我有以下嵌入在另一个用户控件中的用户控件 <UserControl.Resources> <DataTemplate x:Key="ContextsTemplate"> <Label Margin="10,0,20,0" Content="{Binding Name}"/> </DataTemplate> </UserControl.Resources> <ItemsControl Name
<UserControl.Resources>
<DataTemplate x:Key="ContextsTemplate">
<Label Margin="10,0,20,0" Content="{Binding Name}"/>
</DataTemplate>
</UserControl.Resources>
<ItemsControl Name="Contexts"
Background="Transparent"
ItemsSource="{Binding}"
Margin="0,0,0,0"
VerticalAlignment="Center"
AlternationCount="2"
ItemTemplate="{StaticResource ContextsTemplate}">
</ItemsControl>
下面是嵌入在另一个用户控件(controlA)中的用户控件(controlB)的XAML代码
controlA在屏幕上显示为“(集合)”,但由于某些原因,它不会在标签中显示集合文本中的每个项目。请提供帮助。当您声明ContextContentsUserControl时,您正在设置其内容属性。您需要改为设置DataContext:
<local:ContextContentsUserControl Height="30" DataContext="{Binding Contexts}" />
问题在于:
Content="{Binding Contexts}"
你的意思是:
DataContext="{Binding Contexts}"
您得到“(Collection)”而不是为controlA定义的内容的原因是您在用于controlA的XAML中定义的内容被替换为您的集合。UserControl的XAML文件的主体只需设置其内容
属性:在设置后替换它
DataContext="{Binding Contexts}"