我有一个使用MVC的应用程序。它有一个画布和属性网格。在画布中选择一个项目时。属性网格应显示其详细信息。MVC设计问题
所以我做了一个事件监听器,当在画布中选择了一个项目时,它向控制器发出一个事件,它将选定的项目传递给属性网格以显示细节。
型号:
含有Item对象名称,描述
控制器:
protected Controller(object model, FrameworkElement view)
{
this._model = model;
this._view = view;
}
public virtual void Initialize()
{
View.DataContext = Model;
}
检视:
<TextBlock>Status</TextBlock>
<ComboBox ItemsSource="?????"/>
当视图是属性网格和模型是所选择的项目。
问题是在属性网格中有一个包含查找值的下拉列表如何获取下拉值,因为属性网格的datacontext已经设置为不包含对这些引用的选定项目查找项目。
我知道很容易使用自定义代码来做到这一点。但我不想违反MVC的约定。
需要更多的信息才能给出明智的答案(这就是为什么imho没有人回答,直到现在:)) 我会这样做: - 创建一个数据接口,比如说,IListProvider可以有一个方法叫做“ ProvideList“接受TStringBuilder作为参数 - 为接口创建单一实现类 - 为上下文创建接口属性并使用它来选择”正确“提供者。 不过,我认为你需要概述你的代码:) – 2011-06-03 20:52:43
@Andrea:虽然只有7分钟... – 2011-06-03 20:54:01
大声笑!我没有注意到:P – 2011-06-03 20:57:31