这是我的问题,我想在按下此 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/