Bear with me, this might even work, but it's a little complex...
In regular ole ASP.Net 2.0, there's a thing MS built called the CSS-Friendly control adapters. Among the controls it adapts (rendering behavior) for, is the Gridview. In this case, the GridView is still a table, but in the CSS-Friendly control adapters version of it, those rows (trs) have classes instead of the inline styles. Once those have classes, you can target the individual tds within to have styled widths, and that means you can use percentage widths.
Now all you have to know is the number of columns you need, since you can then divide into 100% to get a uniform percentage value for the style.
Unfortunately, a css file does not take programmatic input, so in order to calculate those percentages dynamically on the fly, you have to bring the style into the aspx component where it can be programmatically altered.
The CSS-Friendly control adapters are on Codeplex at codeplex.com/cssfriendly. Whether the WPF GridView can be adapted similarly is way above my experience.
Good luck!
John