我有一个这样定义的用户控件:
XAML:
<UserControl>
<Grid x:Name="LayoutRoot">
<TabControl x:Name="TabControl" ItemsSource="{Binding Products}" >
<TabControl.ContentTemplate>
<DataTemplate>
<Grid>
<ListView ItemsSource="{Binding Features}" Name="FeaturesListView">
<ListView.View>
<GridView>
<GridViewColumn x:Name="FeatureHeader" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn x:Name="CounterHeader" DisplayMemberBinding="{Binding Counter}" />
<GridViewColumn x:Name="ExpireDateHeader" DisplayMemberBinding="{Binding ExpireDate}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</Grid>
后面的代码:
public partial class LicenseInfoControl : UserControl
{
public LicenseInfoControl(ShowableLicense license)
{
InitializeComponent();
DataContext = license;
}
}
因此,如果我对一个窗口使用一个用户控件:
<Window>
<Grid>
<local:LicenseInfoControl x:Name="LicenseInfoControl"/>
</Grid>
</Window>
效果很好。但如果我使用其中两个:
<Window>
<Grid>
<local:LicenseInfoControl x:Name="FileLicenseInfoControl"/>
<local:LicenseInfoControl x:Name="SamLicenseInfoControl"/>
</Grid>
</Window>
两个 ListView 都是空的。我究竟做错了什么?