silverlight - 在 MVVM Light CommandParameterValue 中转换

标签 silverlight mvvm mvvm-light

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

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

最佳答案

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

干杯, 洛朗

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

相关文章:

c# - Silverlight:为什么这个绑定(bind)表达式不起作用?

wpf - 在MVVM-Light工具箱中使用EventToCommand时如何传递多个参数和EventArgs属性

xamarin - Xamarin MVVM传递对象属性

database - Windows 手机 7 : MVVMLight and Messenger

JavaScript 本地文件访问和打开文件

c# - Windows Phone 7 文本框中的输入验证

mvvm - 单个页面中的多个 View 模型 mvvmcross

windows-phone-7 - MVVM 如何摆脱代码隐藏事件

c# - 将参数传递给 ViewModel 构造函数

.net - 导航框架的转换内容控制(WCF RIA 服务)