Надежда это не простофиля.
Я хотел бы смочь сделать следующее в XAML:
<DataTemplate DataType="{x:Type TestApp:ButtonVM}">
<Button
Grid.Column="{Binding GridColumn}"
Grid.Row="{Binding GridRow}"
Content="{Binding Path=Info}"
/>
</DataTemplate>
Довольное привязка хорошо работает, но Сетка. Столбец и Сетка. Строка просто не существует в произведенном объекте. Даже, когда я не установил их на некоторое значение, не связывая (как в Сетке. Столбец = "1"). Я отследил приложение и видел, что в моей сетке никто никогда не устанавливает Сетку. Столбец и Сетка. Строка.
Какие-либо идеи?
Решил эту проблему сам с помощью блогов.
Насколько я понял, вы просто не можете сделать привязку вложенного свойства внутри.
Следующий способ решает проблему мгновенно (ItemContainerStyle!):
<DataTemplate DataType="{x:Type TestApp:GridVM}">
<ItemsControl ItemsSource="{Binding Path=Children}">
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Row" Value="{Binding GridRow}" />
<Setter Property="Grid.Column" Value="{Binding GridColumn}" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid ShowGridLines="True" Style="{Binding Path=Style}">
<Grid.RowDefinitions>
<RowDefinition Height=".5*" />
<RowDefinition Height=".5*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".5*" />
<ColumnDefinition Width=".5*" />
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>