GridAdapter.cs
class GridAdapter:
def __init__(self, grd):
self.grid = grd
self.dTable = self.grid.View # .DataSource
self.grid.SelectionChanged += self.Grid_Click # .MouseDown
self.row = -1
self.grid.ItemsSource = ObservableCollection[object]()
- DataSource に代えて、View の値を参照しています。
- MouseDown に代えて、SelectionChanged にイベントハンドラーを登録しています。
- ItemsSource が保持する子要素は、ObservableCollection に依存します。
《Note》参考文献との違い
def Grid_Click(self, sender, e):
self._eventLog("Grid_Click", sender, e) # (@.@) keep a log
hti = self.grid.HitTest(e.X, e.Y)
if hti.Type == ListView.HitTestType.Cell: # DataGrid.
self.row = hti.Row
- イベントに関するログ情報を確認できるようにしています。
def _eventLog(self, s, sender, e):
print ">>> %s"%s
for e in sender, e:
print "... %s"%edef Add(self, p):
self.grid.ItemsSource.Add(p) # .Rows
- Rows に代えて、ItemsSource に子要素を追加しています。