问题列表 - 第14981页

MVP/MVVM - 过滤列表,谁负责?

我正在实现一个显示项目列表的wpf应用程序,并提供通过键入文本框来过滤此列表的功能(我认为这是非常简单的用例).

我们正在使用MVVM结构.

我的问题是,谁负责过滤清单?视图还是视图模型?我应该在xaml.cs中实现"OnTextChanged"事件,还是应该在ViewModel中使用属性并使用PropertyChanged来过滤列表.
后续问题是,我应该在ViewModel中使用BindingList/ObservableCollection,还是使用ICollectionView将ItemsControl绑定到?

我尝试了两种方法,但它们都有效.赋予ViewModel责任使得View从代码中保持空白,但另一方面,我并不完全相信应用过滤是ViewModels的责任(例如:不同的视图可能需要不同的过滤)

有什么想法吗?

谢谢,罗尔

编辑:

把它放在ViewModel中让我困扰的是(在我当前的实现中)有一个System.Windows.Data的引用.这是我在ViewModel中没有的参考,因为它显然与View相关.或者我错过了什么?相关代码:

ICollectionView customerView = CollectionViewSource.GetDefaultView(customers);
Run Code Online (Sandbox Code Playgroud)

.net wpf model-view-controller mvvm viewmodel

10
推荐指数
1
解决办法
2710
查看次数

Spring Application Context在构造函数中可用

尝试使用构造函数参数在spring实例化的bean中创建Spring应用程序上下文时,我遇到了一个问题.

我已经实现了ApplicationContextAware接口,但它在创建实例后填充了上下文(显而易见).

但是,如果你需要从构造函数中获取bean,并且我在谈论在运行时定义的可变数量的对象,那么正确的方法是什么?

java spring constructor applicationcontext

5
推荐指数
1
解决办法
1859
查看次数

是否可以对$ _POST变量进行分组?

我有一个庞大的表单(对于内部CMS)由几个部分组成,其中一些是可选的,其中一些是必修的.一切都是在一个单调的形式(它必须像这样,没有ajax,没有其他方式:-()

因为在Dilbertesque方式中,每一秒都会发生变化,我想知道是否有任何简单的方法来分组$ _POST数据,我的意思是发送这样的POST:

$_POST['form1']['datax']

或者很容易从服务器端检索数据,并且很容易就是说我必须明确声明:

$array1 = array($_POST['datax'],$_POST['datay'],...);

$array2 = array($_POST['dataalpha'],$_POST['dataomega'],...);

因为有大约60个领域.

我希望我能够很好地解释这一点,并且总是非常感谢你..

php forms post

11
推荐指数
2
解决办法
3222
查看次数

在一个文件中包含多个类定义是一种好习惯吗?

在一个文件中包含多个类定义是一种好习惯吗?或者每个文件最多有一个类?

.net c# class-design visual-studio

3
推荐指数
3
解决办法
725
查看次数

关于原语的快速问题

因为我的坏例子而编辑了这个问题.这是我更新的问题:

下面的速度和内存分配是否相同:

int b;
for (int i = 0; i < 1000; i++)
    b = i;
Run Code Online (Sandbox Code Playgroud)

for (int i = 0; i < 1000; i++)
    int b = i;
Run Code Online (Sandbox Code Playgroud)

java primitive

0
推荐指数
1
解决办法
176
查看次数

如何在Perforce中快速查找/删除所有空的更改列表?

我想知道在尝试删除已提交的更改列表时可能有什么意义,因为提交的更改列表不应该为空.

但后来我正在使用教程库,并在整个分支上使用obliterate命令,我可以看到有一种情况,你可以最终得到空的已提交的更改列表(需要使用-f标志删除).

但是,我不知道如何使用命令行找到它们,因为我不知道如何查找没有与之关联的文件的更改列表.

有一个简单的方法吗?

谢谢,

托马斯

perforce administration changelist

6
推荐指数
2
解决办法
5436
查看次数

如何动态更改JList中所选项的背景颜色

如何动态更改在JList中选择的项目的背景颜色?

java swing jlist

8
推荐指数
1
解决办法
2万
查看次数

matlab中的C C++和C++中的matlab

似乎有几种方法可以在C C++中调用matlab并在matlab中调用C C++.当我尝试在这里列出它们时,请指出它如果我错过了什么.

要在matlab中调用C C++,还有两种方法.第一个是调用C共享库中的函数.第二个是将C C++代码构建为二进制MEX文件,这些文件将从MATLAB命令行调用.对于第一种方法,C共享库是否只是通用的,即没有改变他们的matlab的C代码,并从像gcc这样的通用C编译器编译?

要在C C++中调用matlab代码,有两种方法可用.第一个是Matlab引擎.第二个是使用MATLAB Compiler mcc从MATLAB代码创建C或C++共享库.

除了matlab和C++之外,C++还可以通过写入和从某些文件(例如mat文件,文本文件)读取数据来进行通信.

有多种方法可以实现这里的每个目标,你能告诉我哪些案例最适合使用哪些目标?即调用C共享库中的函数VS将C++代码构建成二进制MEX文件,Matlab引擎VS将Matlab代码编译成C C++共享库.

感谢致敬!

c matlab mex matlab-engine matlab-compiler

10
推荐指数
1
解决办法
1万
查看次数

(Emacs Lisp)源代码中的^ L是什么意思?

我多次看到^L(主要是Emacs Lisp)源代码看起来像是较大逻辑组的分隔符.这是他们真正的目的吗?如果是这样,我该如何使用它们?是否有内置的Emacs功能可以使用它?

emacs elisp special-characters

27
推荐指数
4
解决办法
3781
查看次数

在 MacOS 上使用 Google Chrome/Chromium 代替 WebKit

我想在我的一个项目中使用 Google Chrome 而不是 WebKit 框架。我找到了适用于 Windows 的“chromiumembedded”项目,但在 Mac 上没有类似的项目。最好以框架的形式将其放入 XCode 项目中。

问题:有没有一种简单的方法可以将 Google Chromium 的 Webkit 集成到自己的 MacOS X 项目中?

macos xcode webkit google-chrome

5
推荐指数
1
解决办法
4279
查看次数