Visual Studio WPF 设计器在绑定中使用 + 时崩溃
本文关键字:崩溃 绑定 WPF Studio Visual | 更新日期: 2023-09-27 18:37:22
我的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
类之外,设计器不会崩溃。
Visual Studio有时可能很痛苦不是吗?不确定这是否有帮助,但您能否使其成为动态资源,使其仅在运行时加载。希望这有帮助 - 里克CommandParameter="{DynamicResource {x:Static vm:MessageViewModel+MessageAction.OpenView}}"/>