- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 WPF CodeBehid 事件(如 Event、Handler、EventSetter)转换为 MVVM 模式。我不允许使用 System.Windows.Controls,因为我使用的是 MVVM。而且我也避免使用 3rd 方库来解决这个问题。
有人可以解释如何将以下 CodeBehind 事件处理程序转换为 MVVM 事件处理程序吗?请在写答案时尽可能多地解释。
XAML 代码
<DataGridCheckBoxColumn Header="Select" Binding="{Binding Path=IsSelected}">
<DataGridCheckBoxColumn.CellStyle>
<Style TargetType="DataGridCell">
<EventSetter Event="MouseLeftButtonUp" Handler="ApprovedMouseUp"></EventSetter>
</Style>
</DataGridCheckBoxColumn.CellStyle>
</DataGridCheckBoxColumn>
private void ApprovedMouseUp(object sender, MouseButtonEventArgs e)
{
if(sender is DataGridCell)
{
var temp = (sender as DataGridCell).Content;
if(temp is CheckBox) (temp as CheckBox).IsChecked = !(temp as CheckBox).IsChecked;
}
}
最佳答案
关于 MVVM 的经验法则很少......
Models
和 ViewModles
不应该引用 System.Windows.Controls
命名空间。 Models
和 ViewModles
不应该处理事件。使用ICommand
接口(interface)。 RoutedCommand
在模型/ View 模型中无效(由于第 2 点)。因此使用 DelegateCommand/RelayCommand
关于wpf - 如何翻译 CodeBehind WPF 事件;事件、处理程序、事件 setter 到 MVVM 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7816067/
如果我在 .aspx 页面的代码隐藏中创建一个对象,我希望该对象可以存活多长时间?它会跨回传吗?我能以某种方式将它传递到另一个页面吗?我可以让它与 session 对象一样长吗? 我在网上搜索,希望找
我在新安装的 Visual Studio 2017 Community 中创建了一个 ASP.NET 空网站。我正在尝试复制以下教程所示的步骤:https://youtu.be/5dCAXwhjIYU
我有我的主页: $(docume
我有一个列表框,其中 DataTemplate 分配给它的 ItemTemplate,如下所示:
当我从代码初始化控件属性时,绑定(bind)到 XAML 上定义的同一属性不起作用。为什么? 例如,我在启动时使用以下语句设置控件属性: myControl.SetValue(UIElement.Vi
我想在 asp.net 代码隐藏中复制一个控件。 在我的代码中: HtmlGenericControl divRowHeader = new HtmlGenericControl("div"); di
我必须在 C# CodeBehind 中 100% 创建一个 GridView。我让它选择一行并使用此代码发回: void dataGrid_ItemCreated(object sender
我想添加 从我的代码隐藏到页面上。我网站上的用户将上传 X 张图片,我不想添加 图片上传前。 我想添加 的原因就是给用户展示上传的图片。 如何做到这一点? 我已经看到正在使用的占位符 Control
我有以下代码: [WebMethod] public static string GenerateHtml(string id) { //return id; DataView vwM
我在使用添加到代码隐藏的一些 JavaScript 时遇到了问题。我在这里试图实现的目标是在页面加载上进行另一次回发。现在,你可能会觉得这很奇怪,但我的疯狂是有办法的。 在我的 ASP.Net 向导中
protected void Page_Load(object sender, EventArgs e) { System.IO.File.WriteAllText(@
任何人都可以通过示例告诉我 Codebehind="MyCode.aspx.cs" 和 Src="MyCode.aspx.cs" 之间的区别是什么? 最佳答案 代码隐藏 Specifies the n
我正在尝试创建一种方法来在两个用户控件之间绘制一条线(路径)。我发现某人的帖子为我提供了有关如何执行此操作的一般指示,我成功地实现了代码并开始根据我的需要对其进行调整。 我在访问用户控件时遇到问题:
我有 gridView,如果用户单击按钮,我想将其信息提供给弹出窗口。 这是打开和关闭弹出窗口的 JavaScript function ShowModalPopup() {
我正在使用 Expression Blend。 假设我得到了: Public string FirstName{get;set;} 编辑:感谢您的回答,但恐怕人们不明白我的问题。我确实知道如何在代码或
我正在尝试从 JavaScript 代码调用代码隐藏方法。这工作正常,但我不确定如何将 JavaScript 参数传递给该方法。如果我在括号之间放置任何值,它将作为 CodeBehind 上下文而不是
我知道,太疯狂了。 所以我有一个 asp 标签,我想用 jQuery 填充它。稍后,在代码隐藏中,我想访问此文本以进行其他操作。 我拥有的是: function runMe () {
我对我已经做过一百万次的一件简单的事情感到很麻烦,但是这次,我做不到。 我的 Gridview 中有 LinkButtons 我有六次。总是一个 Edit
我想将代码隐藏中的值分配给 angularjs 变量。做这个的最好方式是什么。 (假设我在 app.js 中有一个变量 var UserInfo)。 如果页面是 Default.aspx,我会在 De
伙计们我正在尝试将 Style.xaml 中的样式用于我后面的代码按照我的风格,我有这样的代码 文件样式.xaml 在我的 Apptest.xaml.cs 文件中有这样的代码 txt.Foregr
我是一名优秀的程序员,十分优秀!