Pergunta

Aqui está o meu problema, quero passar pelo número inteiro 1 quando esta tela é pressionada. Toda vez que clico na tela, tenho uma exceção não atendida do tipo 'System.invalidCastException', ocorreu em galasoft.mvvmlight.dll. Agora eu poderia facilitar minha vida e apenas fazer o RelrayCommand para aceitar uma string em vez de int, mas por uma questão de aprender. Como eu iria fazer dessa maneira,

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

Solução

Outras dicas

Você pode passar os tipos de dados além da string para o comando usando a seguinte sintaxe:

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

Adicione a declaração de namespace fluente para S:

xmlns:s="clr-namespace:System;assembly=mscorlib"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top