การใช้รหัส Entity Framework ก่อนอื่น ฉันได้สร้างออบเจ็กต์บางอย่างเพื่อจัดเก็บข้อมูลในฐานข้อมูลของฉัน ฉันใช้คลาส ReactiveObject จากไลบรารี ReactiveUI ในออบเจ็กต์เหล่านี้ ดังนั้นฉันจึงได้รับการแจ้งเตือนทุกครั้งที่มีการเปลี่ยนแปลงคุณสมบัติสำหรับ UI ที่ตอบสนองมากขึ้น
แต่การใช้สิ่งนี้จะเพิ่มคุณสมบัติ 3 อย่าง ได้แก่ Changed, Changing และ ThrowExceptions ให้กับอ็อบเจ็กต์ของฉัน ฉันไม่คิดว่านี่เป็นปัญหาจริงๆ แต่เมื่อโหลดตารางใน DataGrid สิ่งเหล่านี้ก็จะได้รับคอลัมน์เช่นกัน
มีวิธีซ่อนคุณสมบัติเหล่านี้หรือไม่? ฉันไม่สามารถกำหนดคอลัมน์ด้วยตนเองได้เพราะฉันมี 1 datagrid สำหรับตารางทั้งหมดของฉัน ซึ่งฉันเลือกจากคอมโบบ็อกซ์
พบวิธีแก้ปัญหาด้านล่างและที่นี่: มีวิธีซ่อนคอลัมน์เฉพาะใน DataGrid เมื่อ AutoGenerateColumns=True หรือไม่
void dataTable_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
List<string> removeColumns = new List<string>()
{
"Changing",
"Changed",
"ThrownExceptions"
};
if (removeColumns.Contains(e.Column.Header.ToString()))
{
e.Cancel = true;
}
}