สำหรับผู้ที่กำลังมองหาวิธีแก้ปัญหา C #:
หากคุณต้องการเหตุผลบางประการในการเปิดใช้งาน "AutoGeneratedColumns" สิ่งหนึ่งที่คุณทำได้คือระบุความกว้างของคอลัมน์ทั้งหมดยกเว้นคอลัมน์ที่คุณต้องการปรับขนาดอัตโนมัติ (จะไม่ใช้พื้นที่ที่เหลือแต่จะปรับขนาดเป็น เนื้อหาของเซลล์ )
ตัวอย่าง (dgShopppingCart คือ DataGrid ของฉัน):
dgShoppingCart.Columns[0].Visibility = Visibility.Hidden;
dgShoppingCart.Columns[1].Header = "Qty";
dgShoppingCart.Columns[1].Width = 100;
dgShoppingCart.Columns[2].Header = "Product Name"; /*This will be resized to cell content*/
dgShoppingCart.Columns[3].Header = "Price";
dgShoppingCart.Columns[3].Width = 100;
dgShoppingCart.Columns[4].Visibility = Visibility.Hidden;
สำหรับฉันมันใช้งานได้เป็นวิธีแก้ปัญหาเพราะฉันจำเป็นต้องปรับขนาด DataGrid เมื่อผู้ใช้ขยายหน้าต่างให้ใหญ่สุด
AutoGenerateColumns="True"
?