首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【我们一起写框架】MVVM的WPF框架之绑定(二)

    Binding—绑定 在我们编写的框架中,绑定分两种,一种是属性绑定,一种是命令绑定。...属性绑定:属性绑定很好理解,就是将Xaml页面的控件属性和ViewModel中的自定义属性捆绑到一起,让他们的数据值同步。...这句话的意思就是让TextBlock的Text属性绑定HeaderName属性,其中Binding就是绑定的意思。...【注意,这里只能是属性绑定属性】 HeaderName是我们在VM中刚刚定义的属性,那么Text是怎么绑定到了HeaderName上的呢?...很简单,因为上面我们已经把ViewModel赋值到了DataContext中了,所以在Xaml中,我们就可以使用{Binding 属性名}这样的语句,来绑定VM中所有的属性。

    2.2K41

    WPF 列表右键菜单比较符合 MVVM 的命令绑定方法

    AddedTime}"/> 而此时如果我想要先获取所点击的 GridView 是哪一行,然后弹出右键菜单,设置对应的属性...Header="Open Folder"> 右键菜单内容十分简单,通过 Header 给定显示的文本,创建右键菜单之后,那么如何让右键菜单绑定到...让右键菜单知道当前选中的是哪个 GridView 的 Row 是很逗比的,因为咱可以使用 WPF 的 DataContext 绑定的方法,让数据一层层分发。...绑定资源定义的命令,然后让 CommandParameter 命令参数使用 {Binding} 绑定到菜单的 DataContext 就可以将数据给到命令的参数,也就给到了后台代码的方法参数,所以后台代码就可以通过参数拿到右击所在行的数据...通过绑定的方法和 DataContext 是视觉树继承的,就可以做到自动拿到当前的右击项的数据,传到后台方法 本文的更改放在 github 上,小伙伴可以通过对比更改内容,就能知道本文修改的代码 如果在右击的本身是需要修改

    3.7K20

    WPF --- 如何以Binding方式隐藏DataGrid列

    persons; } set { persons = value; OnPropertyChanged(); } } } 然后创建 VisibilityConverter,将布尔值转化为...解决方案 所以,通过直接找 DataContext 的方式,是不可行的,那就曲线救国。 既然无法找到承载 DataContext.IsVisibility 的对象,那就创建一个能够承载的对象。...首先该对象必须是 DependencyObject 类型或其子类,这样才能使用依赖属性在 Xaml 进行绑定,其次必须有属性变化通知功能,这样才能触发 VisibilityConverter,实现预期功能...Binding Age}" Header="年龄" Visibility="{Binding Value, Source={StaticResource...该抽象类是 DependencyObject 的子类,能使用依赖属性在 Xaml 进行绑定,且有属性变化通知功能,触发 VisibilityConverter转换器,实现了预期功能。

    1.2K10

    win10 uwp 如何在DataTemplate绑定方法

    本文告诉大家几个方法在 DataTemplate 绑定。 在 DataTemplate 绑定是使用次数很多的,下面我在使用新的控件 NavigationView 就需要绑定两个按钮。...ViewModel ,在 MainPage 绑定就是 DataContext ,如果想知道 DataContext 的写法,请看 win10 uwp DataContext public...VerticalAlignment="Bottom" FontSize="28" Style="{StaticResource...但是如果在那些特殊的属性绑定,如一个列表,绑定了类型是 IText 的,也就是绑定的类型可能是有多种的。除了使用列表选择还可以使用下面的方法。 x:Bind xx.DataContext....(具体类型.属性) 通过这个方式可以把 DataContext 强转为具体类型,然后拿到属性。 但是这个方法只能拿到属性,不能拿到方法。 ----

    96310

    win10 uwp MVVM入门

    它可以将界面和后台分离,让开发人员可以不关心界面是怎样,全心投入到后台代码编写中。 然后在编写完后台代码后,可以快速和界面设计师做出来的界面绑定到一起,即使频繁修改界面也几乎不需要去修改后台代码。...当然 static 不是必需的,我们依靠静态资源就可以绑定到 ViewModel 的属性,从而绑定 ViewModel 。...我们不是从 DataContext 绑定 ViewModel ,那么 DataContext 就是 ViewModel ,我们拿出 DataContext 转换,于是得到 ViewModel 。...在 CodeStorageModel 添加了下面代码,这样可以通过 xaml 绑定传入字符串 public ViewModelBase this[string str]...用来绑定指定的 ContentModel ,绑定的方法是通过传入字符串的方式,请看代码 DataContext="{Binding Source={StaticResource ViewModel

    2.2K10

    Silverlight学习(二)

    MVVM设计模式是指模型(Model)-视图(View)-视图模型(ViewModel),MVVM设计模式能够将程序的UI设计和逻辑设计分开,这样能够节省开发人员的大量时间,也可以使代码更容易维护和升级等...IEnumerable AllColors { get; private set; } 25 /// 26 /// 定义一个command,可以绑定到控件上...--绑定ViewModel,获取上下文消息,这里面一般包括需要绑定的字段、类、方法等--> DataContext> 绑定了无参数的ICommand命令,后台为DelegateCommand。通过Button控件 我们可以获取到数据源的变化,并将它显示到页面上。。...这样就玩一个了基本的Silverlight应用程序,本程序未设计到与数据库的交互,下一篇将会有所涉及。

    936100

    win10 uwp 在 ItemsPanelTemplate 里面通过样式绑定 Orientation 显示方向

    在 UWP 是不支持在 Setter 里面的 Value 进行绑定,如果想要在 ItemsPanelTemplate 里面绑定显示方向,那么需要通过附加属性的方法绑定。...如果在后台代码定义了 Orientation 属性想要在 xaml 绑定到 ListView 的样式,可以尝试多创建一个帮助属性,用于在里面绑定 我在后台代码定义了属性 Orientation 请看代码...在这里是几乎无法通过静态资源做到绑定的,那么如何让在后台代码修改的时候,可以修改 xaml 里面的 ListView 的列表显示方向绑定到后台的属性?...因为初始的时候 listView.ItemsPanelRoot 是没有值的,需要等待创建完成这个属性 上面的代码是直接绑定,绑定到 DataContext 也就是需要在 ListView 指定 DataContext...才可以绑定 指定当前的 Page 作为 ListView 的 DataContext 请看代码 DataContext=

    98130

    win10 uwp 在 ItemsPanelTemplate 里面通过样式绑定 Orientation 显示方向

    在 UWP 是不支持在 Setter 里面的 Value 进行绑定,如果想要在 ItemsPanelTemplate 里面绑定显示方向,那么需要通过附加属性的方法绑定。...如果在后台代码定义了 Orientation 属性想要在 xaml 绑定到 ListView 的样式,可以尝试多创建一个帮助属性,用于在里面绑定 我在后台代码定义了属性 Orientation 请看代码...在这里是几乎无法通过静态资源做到绑定的,那么如何让在后台代码修改的时候,可以修改 xaml 里面的 ListView 的列表显示方向绑定到后台的属性?...因为初始的时候 listView.ItemsPanelRoot 是没有值的,需要等待创建完成这个属性 上面的代码是直接绑定,绑定到 DataContext 也就是需要在 ListView 指定 DataContext...才可以绑定 指定当前的 Page 作为 ListView 的 DataContext 请看代码 DataContext=

    62110
    领券