MVVM学习之随笔笔记一

1、我们在引用外部文件包(dll)时,不可以直接在项目的解决方案资源管理器中直接通过“引用”-> 右键“添加引用”->“搜索浏览”去搜外部文件包,然后直接引用。如果这样做的话,引用的只是路径,而外部文件包里的内容我们是带不走的。就是说当我们把项目复制到其他电脑上时,会因为找不到此外部文件包里的内容而出问题。

如图所示,我们要先把外部文件包粘贴到我们项目的根目录(基目录Debug:运行路径)中,再去项目解决方案资源管理器中通过“引用”-> 右键“添加引用”->“浏览”找到项目的根目录,然后选择要引用的外部文件包来引用。这样才不会出现找不到外部文件包里的内容的问题。

注意:我们可以直接把Debug文件夹给别人,别人也是可以运行这个项目的。因为Debug是我们整个项目的运行路径。

2、页面表格中操作项DataGridTemplateColumn的命令绑定:Command="{Binding DataContext. EditCom, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}"。

注意这里的Mode是System.Windows.Data.RelativeSourceMode的成员。其中Mode表示方式:

(1)FindAncestor:引用数据绑定元素父链中的上级。

(2)PreviousData:允许您绑定所显示数据项列表中以前的数据项(不是包含数据项的控件)。

(3)Self:引用您对其设置绑定的元素,并允许您将该元素的一个属性绑定到同一元素中的其他属性。

(4)TemplatedParent:引用应用了模板(其中有数据绑定元素)的元素。这类似于设置 System.Windows.TemplateBindingExtension,并仅当 System.Windows.Data.Binding 在模板中时适用。

AncestorType表示获取或设置要查找的上级节点的类型(顶级元素);

3、页面输入框的数据绑定:Text="{Binding CurrentMemEntity.diningDiscount,Mode=TwoWay}"。

注意这里的Mode是System.Windows.Data.BindingMode 的成员。其中Mode表示方式:

(1)OneTime:当应用程序启动或数据上下文更改时,更新绑定目标。此绑定类型适用于以下情况:使用当前状态的快照适合使用的或数据状态实际为静态的数据。如果要从源属性初始化具有某个值的目标属性,并且事先不知道数据上下文,则也可以使用此绑定类型。此绑定类型实质上是 System.Windows.Data.BindingMode.OneWay 绑定的简化形式,在源值不更改的情况下可以提供更好的性能。

(2)OneWay:当绑定源(源)更改时,更新绑定目标(目标)属性。此绑定类型适用于绑定的控件为隐式只读控件的情况。例如,可以绑定到如股市代号之类的源。或者,可能目标属性没有用于进行更改(例如表的数据绑定背景色)的控件接口。如果无需监视目标属性的更改,则使用 System.Windows.Data.BindingMode.OneWay 绑定模式可避免 System.Windows.Data.BindingMode.TwoWay 绑定模式的系统开销。

(3)OneWayToSource:当目标属性更改时更新源属性。

(4)TwoWay:导致对源属性或目标属性的更改可自动更新对方(即双向绑定)。此绑定类型适用于可编辑窗体或其他完全交互式 UI 方案。

(5)Default:使用绑定目标的默认Mode 值。每个依赖项属性的默认值都不同。一般情况下,用户可编辑控件属性(例如文本框和复选框的属性)默认为双向绑定,而多数其他属性默认为单向绑定。

确定依赖项属性绑定在默认情况下是单向还是双向的编程方法是:使用 System.Windows.DependencyProperty.GetMetadata(System.Type) 获取属性的属性元数据,然后检查 System.Windows.FrameworkPropertyMetadata.BindsTwoWayByDefault 属性的布尔值。

4、当if语句只有一句代码时,{}可省略。如下所示:

if (myModels.SaveChanges() > 0)

MessageBox.Show("新增成功", "系统提示", MessageBoxButton.OK, MessageBoxImage.Information);

else

MessageBox.Show("新增失败", "系统提示", MessageBoxButton.OK, MessageBoxImage.Stop);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值