0

次のように、グリッドをListviewデータテンプレートの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;
    }

ここで、指定したグリッド(DetailPanel)をMyListViewのセルに表示したいと思います。

4

1 に答える 1

0

を指定してみてPanelくださいpublic。また、どのようにリストを宣言しましたか?XAMLでDataContextを設定する方法がわかりません。これまで、そのように設定したことはありません。潜在的な問題としてそれを排除するために、コードビハインドでDataContextをビューモデルに設定してみてください。また、アプリケーションの起動後に出力ウィンドウを確認して、データバインディングで問題が発生する可能性のある場所を確認し、これらのメッセージを質問に追加することを忘れないでください。

于 2012-05-21T13:00:22.633 に答える