首页 > 其他分享 >在MVVM模式下使用命令传多个参数的问题

在MVVM模式下使用命令传多个参数的问题

时间:2022-09-27 14:55:26浏览次数:53  
标签:MVVM 多个 object culture 参数 Type public CultureInfo

最近碰到一个问题,在MVVM模式下进行命令传参时需要传递两个参数:例如类型和ID

 

解决方法如下

        <i:Interaction.Triggers>
            <i:EventTrigger EventName="SelectedItemChanged">
                <i:InvokeCommandAction Command="{Binding SelectChangedCommand}">
                    <i:InvokeCommandAction.CommandParameter>
                        <MultiBinding Converter="{StaticResource treeNodeParameterConvert}">
                            <Binding ElementName="TreeView" Path="SelectedItem.NodeType" />
                            <Binding ElementName="TreeView" Path="SelectedItem.NodeId" />
                        </MultiBinding>
                    </i:InvokeCommandAction.CommandParameter>
                </i:InvokeCommandAction>
            </i:EventTrigger>
        </i:Interaction.Triggers>

 

 

然后定义一个转换器:

    public class TreeNodeParameterConvert : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            return values.Clone();
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

 

解决问题

标签:MVVM,多个,object,culture,参数,Type,public,CultureInfo
From: https://www.cnblogs.com/TheXiang/p/16734556.html

相关文章

  • 【Devops】【jenkins】jenkins上下游工程传递参数,文件传参
    一、背景Devops打通上下游,从开发编译打包到测试自动化到运维部署,最后通知结果采用将参数写入profile.txt文件中,传递到下游工程,下游工程读取profile.txt文件中的变量进行......
  • QT——qss对多个控件设置想同样式
    QToolButton#minBtn:hover,QToolButton#maxBtn:hover,QToolButton#restoreBtn:hover{background:rgb(255,255,255);}QToolButton#minBtn:pressed,QToolBut......
  • LightDB-Oracle兼容 nls_date_format、nls_timestamp_format参数
    在22.3版本以前的LightDB数据库中,存在sysdate和systimestamp两个获取当前时间参数,具体使用如下: 而针对sysdate和systimestamp的日期输出的支持格式十分有限:主要因为da......
  • 三元运算符多个问号多个冒号
    三目运算符的规律关于三目运算符我们常见常用的形式是:varc=true?1:2console.log(c);//1varc=false?1:2console.log(c)//2这个当判断条件为真返回1,判断......
  • docker 一个容器启动多个服务
    目录docker一个容器启动多个服务环境准备开始试验Dockerfilerestart.shcheck.sh测试docker一个容器启动多个服务docker官方并不推荐一个容器启动多个进程,以下是我的总......
  • axios同时请求多个接口并发
    getmytask(){showFullScreenLoading()constparam={//"status":"All/Going/Plan/Delay/Finish","s......
  • Jmeter参数化
    jmeter参数化常用方法用户定义的变量用户参数CSV函数用户定义的变量添加方法:测试计划->线程组->配置元件->用户定义的变量使用场景:使用用户定义的变量......
  • linux中sed命令同时传入两个参数
     001、[root@PC1test]#lsa.txt[root@PC1test]#cata.txthdwqgdt[root@PC1test]#sed-n"$a,$b"pa.txt##同时传入两个变量参数dwq ......
  • WPF程序如何获取命令行参数
    应用程序以Main方法为入口点,如果为Main方法指定一个string[]类型的参数,在程序运行时,这个参数会获取到传递给应用程序的命令行参数。而 WPF 应用程序比较特殊,因为......
  • Linux 中hdparm命令参数说明
    hdparm命令提供了一个命令行的接口用于读取和设置IDE或SCSI硬盘参数。语法hdparm(选项)(参数)选项-a:设定读取文件时,预先存入块区的分区数,若不加上选项,则显示目前的设定......