视图 基本视图(BasicView) - jingjiajie/FrontWork GitHub Wiki
基本视图组件 (BasicView)是FrontWork提供的一款视图组件。它使用 .Net Framework原生的编辑框(TextBox),下拉框(ComboBox)和标签(Label)等组件来展现我们的配置。下面让我们了解一下基本视图组件:
将工具箱中的BasicView拖放到窗口上,我们看到了一个标有“Basic View”的矩形控件。右面属性窗口里有两个属性:Configuration,和Model属性:
看起来非常容易理解,Model就是FrontWork中最核心的数据中枢,用来存储视图中的数据。Configuration就是基本视图组件连接的配置中心组件。设置好配置中心组件后,基本视图会从配置中心中读取配置,然后绘制界面。
现在,让我们把基本视图绑定到我们的《配置中心组件》中所设置的配置中心组件,看看效果(千万不要忘记在窗口中事先拖放好Configuration组件,否则下图的下拉框中是不会有configuration1这一项的):
怎么样,看到左边自动生成的视图,是不是很方便?下面让我们绑定一个Model来提供数据交互的能力:
这样,我们的Model就绑定完成了。接下来,让我们用代码向Model中增加一行数据,并设置Model的选区选中第一行,并观察表格控件的数据同步:
this.model1.AddRow(new Dictionary<string, object> {
{"name","小明"},{"role","管理员" },{"age",18}
});
this.model1.FirstSelectionRange = new Range(0, 0, 1, 1);
为了体现完整的窗口,我们将窗口里的控件稍微移动了一些位置。最终的结果如上图所示。可以看到,随着Model中数据的增加,视图中的数据自动地同步了。同理,如果用户在基本视图上编辑了数据,在Model中也会随之同步,这是MVVM框架的基本规则,在这里不再演示。
在这里我要解释一下为什么在添加了数据后要设置一下Model上的选区?因为BasicView基本视图每次只能显示Model中的一行数据。那么具体显示哪一行数据呢?BasicView规定,显示Model的选区中的第一行的数据。而Model中默认是没有设定选区的,所以我们在添加数据后将选区设置到了第一行的第一个单元格上,BasicView就将这一行所有的数据显示了出来。也就是说,如果有多行数据的时候,假如我们的选区选中的前三行,那么BasicView也会显示第一行的数据。