2013-08-22 32 views
1

現在我試圖創建一個ListView,它使用自定義QML加載dataModel。這裏是我的代碼片段:訪問ListItemComponents在運行

ListView { 
      id: firstPageListView 
      visible: false 
      dataModel: firstPageDataModel 

      layout: GridListLayout { 
       columnCount: 1 
       cellAspectRatio: 2.0 
       headerMode: ListHeaderMode.Standard 
       verticalCellSpacing: 10 
      } 

      listItemComponents: [ 

       ListItemComponent { 
        //custom qml that will be used 
        ThumbNote { 
         title: ListItemData.title 
         text: ListItemData.text 
         imageSource: ListItemData.image 
         listmode: true //list mode 
         date: ListItemData.date 

        } 
       } 
      ] 

     } 

我想創建一個按鈕,將每個部件的listmode屬性更改爲false。通過這樣做,該對象將調用在ThumbNote QML的onListModeChanged()中設置的函數。

對不起,我可憐的英語,任何幫助將不勝感激。 :)

回答

3

也許你可能會考慮添加一個屬性到ListView並綁定ThumbNotes的屬性。

例如爲:

ListView { 
     id: firstPageListView 
     visible: true 
     dataModel: firstPageDataModel 

     property bool listMode: true 
     ... 
     listItemComponents: [ 

      ListItemComponent { 
       //custom qml that will be used 
       ThumbNote { 
        title: ListItemData.title 
        text: ListItemData.text 
        imageSource: ListItemData.image 
        listmode: firstPageListView.listMode 
        date: ListItemData.date 

       } 
      } 
     ] 

} 
Button { 
    onClicked: { 
     firstPageListView.listMode = false; 
    } 
}