0

我不明白为什么我的命令参数在所有其他绑定似乎都工作时为空,显示了正确的图像,文本正确并且调用了命令 CanExecute,但由于某种原因参数为空。

                <MenuItem Header="Open Recent" ItemsSource="{Binding Path=MRU}">
                <MenuItem.ItemContainerStyle>
                    <Style TargetType="MenuItem">
                        <Setter Property="Command" Value="{Binding Command}" />
                        <Setter Property="CommandParameter" Value="{Binding URI}" />
                        <Setter Property="Header" Value="{Binding URI}" />
                        <Setter Property="Icon">
                            <Setter.Value>
                                <Image Source="{Binding URIImage}" />
                            </Setter.Value>
                        </Setter>
                    </Style>
                </MenuItem.ItemContainerStyle>
            </MenuItem>

和视图模型类:

        public class MRU_ViewModel
    {

        public MRU_ViewModel(string uri)
        {
            this.URI = uri;
            Command = new Commands.Open();
        }


        public string URI { get; private set; }
        public System.Windows.Media.Imaging.BitmapImage URIImage { get { return WorkSpace.GetURIImage(URI); } }
        public ICommand Command { get; private set; }
    }

该命令的 CanExecute 如下所示:

        public bool CanExecute(object parameter)
    {
        return parameter != null && parameter is string; // <---parameter is null
    }
4

0 回答 0