小编Eve*_*ner的帖子

Linting 以检测未使用的导出变量

我试图找出如何检测导出变量(常量、函数等)何时未被使用并因此可以被删除。我有一个配置了 ESLint 的 React 应用程序。

在以下示例中,MAGIC_NUMBER在 file2.js 中导出并使用,但doMagic从未在任何其他文件中导入或使用。

文件1.js

export const MAGIC_NUMBER = 7;
Run Code Online (Sandbox Code Playgroud)

文件2.js

import { MAGIC_NUMBER } from "./file1.js"

export function doMagic() {
    return MAGIC_NUMBER + 1;
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方法可以检测doMagic未使用的情况。

现在,我使用 ESLint 和默认规则:

"no-unused-vars": ["error", { "vars": "all", "args": "after-used", "ignoreRestSiblings": false }]
Run Code Online (Sandbox Code Playgroud)

它检测同一文件内未使用的变量,但不检测多个文件之间的未使用变量。

非常感谢!

eslint eslintrc

9
推荐指数
0
解决办法
540
查看次数

WPF ListBox.SelectedItems 作为 ListBoxItem

有没有办法在 WPF中的事件(在)中将a 的选定项目ListBox作为 a ?ListBoxItemSelectionChangedListBox

现在,当我打电话时,listBox.SelectedItems我得到了数据源格式的项目列表。

例如,当我创建 my 时,ListBox我将它绑定到 aCustomListBoxViewModel作为数据源,因此当我调用时,SelectedItems我会得到一个CustomListBoxViewModel对象列表。

谢谢!

编辑:

所选答案中给出的代码非常适合我的用例。

另一方面,我完全理解这是对 MVVM 模式的违反。我将使用您在 xaml 视图后面的代码中提供的代码。

我最初的问题背后的原因是我需要实现一个里面ListBox有一些残疾人的ListBoxItems。这些项目必须是不可选择的。

我尝试在我的设备上使用附加属性IsSelectableListBoxItems,但效果不佳。这个附加的财产受到这篇文章的极大启发。问题是,当我直接选择禁用项目时,附加属性工作得很好。无法选择该项目并且它不在SelectedItems集合中。但是,如果我想通过按 CTRL+A 来选择所有项目,那么所有项目都会ListBoxItems被选中,甚至是禁用的项目,并在SelectedItems集合中找到。

c# data-binding wpf xaml wpf-controls

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

标签 统计

c# ×1

data-binding ×1

eslint ×1

eslintrc ×1

wpf ×1

wpf-controls ×1

xaml ×1