0

我的 Visual Studio 2010 设计器因以下错误而崩溃:

Error   3   Type 'vm:MessageViewModel+MessageAction' was not found.

这是导致错误的行:

<Button Content="View" Command="{Binding Path=ActionCommand}" CommandParameter="{x:Static vm:MessageViewModel+MessageAction.OpenView}"/>

请记住,程序编译并运行良好。该参数甚至可以正确传递给命令。

枚举在一个类中,所以我需要使用加号来引用它。这是类结构:

public class MessageViewModel : ModelWrapViewModel<MessageModel>
{
    private ICommand _actionCommand;

    public enum MessageAction
    {
        OpenView,
        OpenNote,
        OpenAcknowledge,
        Cancel,
        Save,
        Acknowledge
    }

    public ICommand ActionCommand
    {
        get
        {
            if (_actionCommand == null)
            {
                _actionCommand = new RelayCommand(
                    param => this.DoSomething((MessageAction)param),
                    param => true
                );
            }
            return _actionCommand;
        }
    }

}

只是想知道这是否有原因在 VS 设计器中不起作用。如果我将枚举移到MessageViewModel类之外,则设计器不会崩溃。

4

1 回答 1

1

视觉工作室有时会很痛苦吗?不确定这是否会有所帮助,但您能否将其设为动态资源,以便仅在运行时加载。希望这会有所帮助 - Rick CommandParameter="{DynamicResource {x:Static vm:MessageViewModel+MessageAction.OpenView}}"/>

于 2013-10-28T22:59:59.647 回答