我正试图通过另一个控件(PanelList.xaml/PanelListViewModel:cs(的ListView设置UserControl(Panel.xaml/PanelViewModel.cs(的DataContext。
我有以下ViewModel:
public class PanelListViewModel
{
public List<PanelViewModel> Apps { get; set; } = new List<PanelViewModel>
{
new PanelViewModel
{
ApplicationName = "App 1",
ApplicationVersion = "v. 1.0.3",
IsInstalled = true
},
new PanelViewModel
{
ApplicationName = "App 2",
ApplicationVersion = "v. 1.0.3",
IsInstalled = false
}
};
}
并具有以下UserControl:
<UserControl.DataContext>
<vm:PanelListViewModel/>
</UserControl.DataContext>
<ListView ItemsSource="{Binding Apps}">
<ListView.ItemTemplate>
<DataTemplate>
<local:Panel DataContext="{Binding}"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
它最初在VS的设计器预览窗口中工作,但一旦我构建它,DataContext绑定就不再工作了。请帮助:(
你能设置一个"x: 名称";对于ListView,并在加载事件中尝试以下代码,也许会有所帮助:
C#代码:
myListView.DataContext = Apps;
XAML代码:
<ListView ItemsSource="{Binding Apps}" x:Name="MyListView">