如何将ListViewItem绑定到Grid?

时间:2012-05-21 10:28:35

标签: .net wpf xaml datatemplate

如何将网格绑定到Listview datatemplate中的ListViewItem内容,如下所示:

<ListView ItemsSource="{Binding AListInMyViewModel}">
    <ListView.View>
      <GridView >
        <GridViewColumn Header="VariableDetails" Width="10">
          <GridViewColumn.CellTemplate>
            <DataTemplate >
               <ContentPresenter Content="{Binding DetailPanel,UpdateSourceTrigger=PropertyChanged}" DataContext="{Binding}" />
               </DataTemplate>
            </GridViewColumn.CellTemplate>
         </GridViewColumn>
      </GridView>
   </ListView.View>
</ListView>

在我的ViewModel中我有AListInMyViewModel,它的每个项目都有这样的属性:

Panel DetailPanel{
  get
    {
       Grid MyGrid=new Grid();

       ...
       return MyGrid;
    }

现在我想在MyListView的单元格中显示指定的网格(DetailPanel)。

1 个答案:

答案 0 :(得分:0)

尝试指定您的Panelpublic。另外,你是如何宣布你的名单的?我不确定你在XAML中设置DataContext的方式 - 我以前从未这样做过。只是为了消除这个潜在问题,尝试将DataContext设置为代码隐藏中的viewmodel。此外,请记住在启动应用程序后查看输出窗口以查看数据绑定可能出现问题的位置,并将这些消息添加到您的问题中。