Я пытаюсь добавить DataGrid в проект, используя pytho nnet, записанное в python. Ссылка на список ниже:
pythonnet_datagrid.py
import os
import sys
sys.path.append(os.getcwd())
import clr
clr.AddReference('wpf\PresentationFramework')
from System import String
from System.IO import StreamReader
from System.Threading import ApartmentState, Thread, ThreadStart
from System.Windows import Application, LogicalTreeHelper, Window
from System.Windows.Markup import XamlReader
clr.AddReference('System.Collections')
from System.Windows.Controls import *
from System.Collections.Generic import *
from System.Windows.Data import Binding
class MyData(object):
def __init__(self, name):
self.name = name
class MyWindow(Window):
def __init__(self):
stream = StreamReader('example.xaml')
window = XamlReader.Load(stream.BaseStream)
TestDataGrid = LogicalTreeHelper.FindLogicalNode(window, "TestDataGrid")
items = []
items.append(MyData("Sam"))
items.append(MyData("Bob"))
TestDataGrid.ItemsSource = items
Application().Run(window)
if __name__ == '__main__':
thread = Thread(ThreadStart(MyWindow))
thread.SetApartmentState(ApartmentState.STA)
thread.Start()
thread.Join()
example.xaml
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Title="Gaiaform" Height="600" Width="800">
<Grid>
<DataGrid Name="TestDataGrid" />
</Grid>
</Window>
Я запускаю код и получите ошибку:
'list' value cannot be converted to System.Collections.IEnumerable
Я использовал тип списка c# с объектом MyData внутри, и он жаловался на тип (ы). Возможно, я где-то допускаю простую ошибку, но после нескольких дней попыток ответить на другие вопросы, связанные с переполнением стека, такие как Невозможно заполнить сетку данных WPF с использованием Python, думаю, мне нужен более опытный совет.
Заранее спасибо за любую помощь.