WPF ItemsControl - > ContentPresenter

时间:2012-08-03 07:37:00

标签: wpf mvvm grid itemscontrol contentpresenter

我希望有人能帮我解决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>

0 个答案:

没有答案