【问题标题】:Referencing Nested Type in Visual Studio 2008 XAML Designer在 Visual Studio 2008 XAML 设计器中引用嵌套类型
【发布时间】:2010-06-21 20:08:26
【问题描述】:

具有以下资源定义

<ObjectDataProvider MethodName="GetValues" ObjectType="{x:Type sys:Enum}" x:Key="AccountTypeValues">
    <ObjectDataProvider.MethodParameters>
        <x:Type TypeName="domain:Account+AccountType" />
    </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>

设计师抱怨“找不到类型‘Account+AccountType’。”但是,嵌套类型存在并且代码符合并运行没有问题。由于设计者认为 XAML 不正确,因此不会显示 XAML 的图形再现。

我需要做些什么才能让设计人员将 Account+AccountType 识别为有效?我真的很喜欢设计师的视觉部分工作。

谢谢, 本

【问题讨论】:

    标签: wpf visual-studio-2008 xaml


    【解决方案1】:

    看起来这是 Visual Studio 中的一个已知错误。来自http://social.msdn.microsoft.com/forums/en-US/wpf/thread/12f3e120-e217-4eee-ab49-490b70031806/

    我们有人研究了 {x:Type Foo+Bar} 模式并测试它 在 VS2010 和 Blend4 中。看起来 它在运行时、编译时工作正常, 在 Blend 4 中,但在 VS2010 的 WPF 中失败 设计师。

    我们提交了一个错误,并将其发送至 WPF 设计师团队。

    另见http://connect.microsoft.com/VisualStudio/feedback/details/361509/xaml-designer-cannot-handle-typename-with-nested-classes

    您可以创建一个调用Enum.GetValues(typeof(Account.AccountType)) 的静态属性并绑定到该属性,而不是使用ObjectDataProvider。或者,如果您控制类型,则可以将枚举移出类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      • 2014-04-19
      相关资源
      最近更新 更多