Во-первых, описание свойств объекта Grid следует смотреть для .NET Framework 3.0: класс System.Windows.Controls.Grid реализован в сборке PresentationFramework, а в References добавлена ссылка на версию 3.0.0.0 этой сборки. В
MSDN написано, что свойство Grid.ColumnDefinitions "gets a ColumnDefinitionCollection", т.е. это свойство только для чтения (в противном случае было бы написано "gets or sets", как, скажем, для ClipToBounds или ContextMenu). Во-вторых, у Grid на самом деле нет свойства ColumnProperty - обратите внимание, что в
приведенном примере переменная-grid называется MyGrid, в то время как методу TextBox.SetValue() передается Grid.ColumnProperty и Grid.ColumnProperty, т.е. передаются вовсе не значения свойств MyGrid, а идентификаторы т.н. DependencyProperty самого TextBox'а, см.
описание метода SetValue.