问题标签 [conceptual]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4839 浏览

c# - WPF中的WPF命令和事件有什么区别?

我只是在谷歌上搜索 WPF 命令和 WPF 中的事件之间的区别。我登陆了讨论正在进行的stackoverflow的下一页。

WPF 命令和事件有什么区别?

我只能从那里理解

  1. 命令可以写在业务层,而事件只能写在表示层中
  2. 单个命令可以与多个控件关联,但事件只能与一个控件关联。

我对吗?它们之间还有其他区别吗?

0 投票
1 回答
822 浏览

c# - 哪个执行第一个后面的代码或查看模型

根据我之前的问题Accessing variables from XAML and object from ViewModel using Code Behind:我怎么知道哪个先执行?

是背后的代码还是 ViewModel?
我只想确保我的代码在 ViewModel 之前执行

0 投票
4 回答
3058 浏览

c# - How to (correctly) update the M in MVVM of WPF application?

Having passed a series of Edward Tanguay's questions refractoring the usage of MVVM for WPF app which can be found in Linked sidebar of his Fat Models, skinny ViewModels and dumb Views, the best MVVM approach?, I am a little confused by his final WPF application in Big smart ViewModels, dumb Views, and any model, the best MVVM approach?

Its M (Model) is Customer class:

which returns current user. Kind of, beause it returns duplicates of newly created "current" user...

But where is the M's data stored and updated in case of need?

Suppose, I want to change the model's current user's FirstName to "Gennady"?

I added a button for updating the model with this button click event handler:

aiming to change the model's data from it which will be reflected in GUI.

How can I do this, by clicking this button... sorry, by placing the code into this button1_Click()?

Or it is something wrong with my wish to do it?
Then. how to correctly update/change M in MVVM ?

Update:
All answers seem refer that I should not make changes in M but on VM.
Though I've specifically asked about referenced M-V-VM implementation with:

So, for example, upon implementing the code from Adolfo Perez's answer changes, the TextBox's content is changed from "Jim" to "Gennady" only for a period of interval set in _timer = new Timer(CheckForChangesInModel, null, 0, 1000);.

All logic of referenced by me M-V-VM in WPF approach is such that it is "M" should be updated, in order VM has caught up those changes, but not the "VM".

Even more, I cannot understand, if to make changes in VM how can they be reflected in M if the VM knows about M but - not vice versa - Model does not know about ViewModel).

0 投票
2 回答
1651 浏览

wpf - WPF:如何触发 GUI 行为以响应视图模型事件?

我正在开发一个 WPF/MVVM 应用程序,并且我有一个列表框绑定到 ViewModel 中的数据。在不同的点上,我需要视图模型使列表框滚动到给定的元素。

如何在不创建自定义控件的情况下做到这一点,同时仍然保持良好的关注点分离?

我目前通过在视图层中创建一个具有依赖属性的自定义行为类来使其工作,VisibleIndex然后 XAML 代码将其绑定到视图模型中的整数:

当设置整数时,它会触发依赖属性更新处理程序,该处理程序告诉列表框滚动到关联的索引。

这似乎有点棘手,因为列表框永远不会更改依赖项属性值,并且仅在值更改时才调用更新处理程序,因此确保相关项可见的唯一方法是执行以下操作:

我目前使用行为类的唯一原因是绑定我的自定义依赖属性,有没有办法用事件来做这样的事情?

0 投票
3 回答
969 浏览

c# - 我们什么时候应该在 C# 中使用事件

我是 C# 和 WPF 的新手。我刚刚学习了 C# 中的异步编程。我们提出事件和一些我们捕捉到这个事件的地方。

这种方法的优点是我们不需要直接调用对象方法。示例我们从数据库加载数据,然后在加载数据方法完成后,它会引发事件LoadDataSuccessfully 然后主类捕获此事件并引发事件UpdateGUIAfterLoadDataSuccessfully,其他一些控件将捕获此事件并更新 GUI。

但现在我想可能是......我在我的项目中使用它太多了,可能是我过度使用它太多了。请给我一些建议,什么时候应该使用 Event,什么时候应该使用传统方式。

0 投票
2 回答
1008 浏览

java - Java中的模数

我想在包含%Java模数的方程中获取未知数的值

例如:

x % 26 = y如果我有我y怎么能得到的价值x

0 投票
2 回答
143 浏览

c++ - 通过引用传递是作为指针传递的特例吗?

我还没有完全理解 C++ 中的引用传递。我已经阅读了以下相关问题。

但是即使我理解它与指针不同,我也没有完全理解 C++ 中引用的概念。它是如何工作的?我似乎引用是指针的一种特殊情况,并且可能由编译器实现。但它在编程级别上表现不同。那是对的吗?

通过引用传递的概念是传递指向该值的指针的特殊情况吗?很多时候我必须在编程时决定是使用引用还是使用指针。此外,我想了解基本原理。只复制内存地址吗?

0 投票
3 回答
1568 浏览

c# - 枚举 vs 索引 vs 迭代

我已经阅读Eric Lippert 的博客有一段时间了(它非常好,你应该看看),在他的一篇文章的评论中,他提到他无意索引一系列数字,而只是枚举它们。

枚举和索引有什么区别,我到处搜索过?在我的搜索过程中,当迭代被带入方程式时,我变得更加困惑?有人可以解释这三个概念,甚至可以举个例子吗?在您将此标记为骗子之前,我已经看到了一些关于“迭代器与枚举器”的问题,但是我还没有看到一个正确的解释(因此是这个问题)。我感谢您的帮助。

0 投票
1 回答
46 浏览

performance - Which separating method is cleaner for long function?

I have long of code function about 100 lines. It's hard to read.

Which is cleaner or better way to separate the function?

First way

Second way

If no one better, when I should use second way instead of first way?

0 投票
2 回答
182 浏览

c# - .NET 抑制异常的(可能未记录的)案例背后的基本原理是什么?

我试图掌握 .NET 标准,当 .NET 异常被抑制、吞下或通过时被忽视,以便检测/怀疑/预防/对此类事件保持警惕。

.NET Framework 4.5 上的 MSDN 在线文章“计时器类”指出:

在 .NET Framework 2.0 版及更早版本中,Timer 组件捕获并抑制由 Elapsed 事件的事件处理程序引发的所有异常。此行为可能会在 .NET Framework 的未来版本中发生变化

嗯,.NET 4.5 是与 .NET 2.0 相关的未来版本吗?
虽然这是一个修辞问题,但我不太关心文档中提到的具体案例。

我关心并想了解的是:
抑制.NET异常的标准、原则和基本原理是什么?

更新(回应Eugen Rieck 的回答

所以问题是:哪个线程应该受到计时器滴答时抛出的异常的影响?

引用 MSDN 文章“异常处理(任务并行库) ”:

如果您不等待传播异常的任务或访问其 Exception 属性,则在对任务进行垃圾收集时,将根据 .NET 异常策略升级异常。

(有趣的“.NET 异常政策”,我在任何地方都找不到……)

好吧,我对 WPF 应用程序很感兴趣,据我所知,它是 STA 并且有一个主父线程。
我的愿望是,如果未处理任何异常,它会崩溃。

Update2(回应马特史密斯的评论):

是的,我知道。引用<ThrowUnobservedTaskExceptions>元素

如果未观察到与 Task 关联的异常,则没有 Wait 操作,未附加父级,并且未读取 TaskException 属性,则认为未观察到任务异常。

在 .NET Framework 4 中,默认情况下,如果对具有未观察到的异常的任务进行垃圾回收,则终结器会引发异常并终止进程。进程的终止由垃圾收集和终结的时间决定。

为了让开发人员更轻松地编写基于任务的异步代码,.NET Framework 4.5 更改了这种未观察异常的默认行为。未观察到的异常仍然会引发 UnobservedTaskException 事件,但默认情况下,进程不会终止。相反,无论事件处理程序是否观察到异常,都会在引发事件后忽略异常。

在 .NET Framework 4.5 中,您可以使用应用程序配置文件中的元素来启用 .NET Framework 4 引发异常的行为。

我只是跳过进一步讨论以避免问题的膨胀并获得对斯蒂芬图布的“.NET 4.5中的任务异常处理”的解释的参考

毕竟问题是(真的想从这个问题开始)以确保为我: