Ну, насколько я понимаю, вам нужны ваши объекты, чтобы иметь некоторые дополнительные свойства. Что-то вроде Key
и ValueFromKey
. Эти свойства могут выглядеть примерно так:
public int Key { get; set; }
public object ValueFromKey
{
get { return this[Key]; }
}
Затем, когда вы добавляете столбцы GridView, вы должны установить значение свойства Key равным «магическому» числу (как 546 из примера).
И ваш DataTemplate
будет выглядеть так просто:
<DataTemplate>
<TextBlock
Width="60"
Text="{Binding ValueFromKey.PropName}"
TextAlignment="Center"
/>
</DataTemplate>
Проблема возникает, если вы не можете изменить этот класс. Тогда вы, вероятно, могли бы рассмотреть возможность обернуть его своим собственным классом (вроде ViewModel) и связать свой пользовательский интерфейс с коллекцией этих новых экземпляров.