0

我需要创建一个看起来像矩阵的数据网格,
矩阵显示每天及其 24 小时的按钮。
类似于:
7 6 5 4 3 2 1
0
1

.
23
我正在使用 MVVM 模式,这似乎使它更难实现,
谢谢大家。

4

1 回答 1

1

像这样的东西:

<ItemsControl ItemsSource="{Binding DaysOfWeek}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid Rows="1"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <ItemsControl ItemsSource="{Binding HoursInDay}">
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <UniformGrid Columns="1"/>
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>
            </ItemsControl>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

这假设您在数据上下文中调用了一个集合DaysOfWeek(即在您的主视图模型中)。每个DayOfWeek对象都会公开一个HoursInDay集合(可能是同一个共享集合)。

说了这么多,数据驱动的优势是什么?您的矩阵可能会改变尺寸吗?如果不是,为什么不在您的观点中“硬编码”矩阵?每个矩阵单元仍然可以绑定到视图模型中的适当数据项。

于 2012-09-16T08:18:44.683 回答