у меня было (примечание Extras.WP7
):
<phone:PhoneApplicationPage
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WP7"
>
... и он работал нормально для моего EventToCommand вроде этого:
<phone:PhoneApplicationPage.Resources>
<i:EventTrigger x:Key="KeyPadButtonTrigger" EventName="Click">
<cmd:EventToCommand Command="{Binding Path=KeyPadButtonCommand}" CommandParameter="{Binding ElementName=Self, Path=Content }" />
</i:EventTrigger>
</phone:PhoneApplicationPage.Resources>
Но тогда я хотел использовать MmvmLight's ButtonBaseExtensions
так:
<Button x:Name="button1"
cmd:ButtonBaseExtensions.Command="{Binding KeyPadButtonCommand}"
cmd:ButtonBaseExtensions.CommandParameter="{Binding ElementName=button1, Path=Content }"/>
... но когда я это сделал, я получил "The attachable property 'Command' was not found in type 'ButtonBaseExtensions'"
ошибок.
Я обнаружил, что должен был добавить пространство имен для assembly=GalaSoft.MvvmLight.WP7
, например:
<phone:PhoneApplicationPage
xmlns:cmdxtras="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WP7"
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.WP7"
>
Обратите внимание, что у меня ОБА xmlns:cmdxtras
и xmlns:cmd
. Вещи не работают, если у меня есть только один или другой!
Это кажется очень неуклюжим и не совпадает с тем, что, как мне кажется, предлагают другие. Зачем мне оба?