سلام دوستان
من دارم یه برنامه مینویسم برای شرکتمون که توش اطلاعات ارسالی یک سری دستگاه را نمایش بدهد. هر دستگاهی دیتای مختلفی در زمانهای مختلف میفرسته و قابل پیش بینی نیست که کی چه دیتای میاد
این اطلاعات از طریق سریال بصورت رشته وارد میشن و من دیکدش میکنم و مثل این
Mode=0,Type=1=Input=2
بعد از دیکد و ریختن داخل table با در نظر گرفتن اینکه اسم ستونها را قبلش خودم میدونستم و گذاشتم این شکلی شده
که خب درسته همه چی
حالا میخوام این سطرهایی که هستن مثل mode-Type-Input اسم ستونها بشوند و هر 1 ثانیه یک بار که دیتای ورودی میاد یک سطر جدید تشکیل بشود و زیر هم نمایش داده شود که این هم نوشتم و Table به این شکل دراومده
حالا مشکلم اینه که وقتی این رو به datagrid بایند میکنم بهم این ارور رو میده
System.InvalidOperationException: 'An ItemsControl is inconsistent with its items source.
See the inner exception for more information.'
این رو سرچ کردم دیدم برای حلش باید از observablecollection استفاده کنم مثل این
observablecollection <Person> People;
و بعد کلاسی داشته باشم به این شکل که مثلا دوتا عضو داره
class Person
{
string name;
string family;
}
الان مشکل من اینه که من کلاسی نداره که بتونم همه اینکار هارو بکنم یعنی اینکه این عضوهای کلاس رو اصلا نمیدونم قراره این دستگاهی که الان وصل میشه و دیتا میفرسته چی قراره بفرسته فقط میتونم بگم همش string هست و اینکه مثلا امکان داره مثل عکس بالا یه موقع این 7 تا ستون باشه یه موقع 2 تا یه موقع 10 تا ولی وقتی برنامه شروع به کار کنه خودش اتوماتیک تشخیص میده این 5 تا ستون رو داریم و بعدش سطرهای Table رو براساس این 5 تا ستون پر میکنه
لطفا راهنمایی کنید که وقتی برنامه در حال اجراست چطور یک کلاس بسازم که عضوهاش متغیر باشه که بتونم ازش observablecollection ازین بسازم یا اینکه یه روش دیگه برای حل ارور بهم بدید ممنون میشم
مرسی
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)