这是我的问题,我想在按下这个 Canvas 时传递整数 1。每次单击 Canvas 时,我都会收到一个类型为“System.InvalidCastException”的未处理异常,发生在 GalaSoft.MvvmLight.dll 中。现在我可以让我的生活更轻松,只需执行 RelayCommand 来接受 String 而不是 int 但为了学习。我该怎么做呢,

    <i:Interaction.Triggers>
   <i:EventTrigger EventName="MouseLeftButtonDown">
         <cmd:EventToCommand Command="{Binding ButtonPress}"
                 CommandParameterValue="1"
              </i:EventTrigger>
    </i:Interaction.Triggers>

最佳答案

您刚刚发现了通用转换的限制。我对此感到抱歉。我将尝试找到一种更好的方法来处理进一步版本中的简单值(可能通过一些反射来检查类型上是否存在 Parse 方法)并在我的积压工作中打开了一个错误。同时请使用RelayCommand自行解析。

干杯,
洛朗

关于silverlight - 在 MVVM Light CommandParameterValue 中进行转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2542832/

10-10 18:40