我希望有人能帮我解决ItemsControl
问题:)
我使用ItemsControl
Grid
作为ItemsPanel
来添加/删除MVVM中的Column/RowDefinitions
(以及单元格内容)
这样可以正常工作,但是当我尝试添加GridSplitter
时,会显示分割器但是它不起作用。原因是ItemsControl
为每个项目添加了新的ContentPresenter
...
当children属性中的ContentPresenter
项为GridSplitter
时,有没有办法用Type
控件替换SplitterVM
?
我也试图将Splitters
上的Grid
绑定为DependencyProperty
,但当我使用ItemsPanel
时,它无效,因为我无法添加Children
1}}到Panel
...
这是我的代码:
<DataTemplate DataType="{x:Type vm:GridVM}">
<ItemsControl ItemsSource="{Binding Children}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<view:LayoutGridControl Rows="{Binding Rows}" Columns="{Binding Columns}" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Row" Value="{Binding Model.RowIndex}"/>
<Setter Property="Grid.Column" Value="{Binding Model.ColumnIndex}"/>
<Setter Property="Grid.RowSpan" Value="{Binding Model.RowSpan}"/>
<Setter Property="Grid.ColumnSpan" Value="{Binding Model.ColumnSpan}"/>
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
</DataTemplate>