Я думаю, что ваша проблема заключается в определении таблицы данных вне контроля элементов. Насколько я понимаю, область применения относится ко всему, что находится внутри элемента управления. Ваша табличка с данными не является и, следовательно, может быть, это просто "вне" этой области.
Я всегда использую itemtemplate или itemscontrol.resources при использовании sharedsizescope.
Я бы также сделал ширину вашего последнего столбца *, чтобы она занимала все пространство, которое закончилось.
В любом случае, у меня есть живая разметка, которая работает:
<ItemsControl ItemsSource="{Binding}" Grid.IsSharedSizeScope="True"
IsTabStop="False"
>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="sharedWidth"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
Obfuscar можно использовать бесплатно, поддерживает работу из командной строки и может быть запущен с помощью Mono.
Я хотел бы упомянуть Вавилонский обфускатор . Это открытый исходный код (меньше GPL), но не поддерживает Mono. У меня пока нет опыта, но это выглядит многообещающе.