WPF传递任意控件或任意控件的属性给ViewModel

背景:虽然MVVM中要避免在ViewModel中直接引用UI控件,但是有时也是需要的

 以Image控件为例子,这个控件可以在任何地方,只要给它设置好了Name属性(这里是”image1“)

1、传递控件本身

使用:CommandParameter="{Binding Source= {x:reference image1}}"

2、传递控件的某个参数

使用:CommandParameter = "{Binding Source, ElementName=iamge1}"

        -- 这个source就是iamge1的属性Source,在ViewModel中入参要使用ImageSource类型

                其它属性的传递也是可以的比如Name这些

你可能感兴趣的:(C#,wpf,wpf)