好的,我有一个关于WPF的一般性问题。我有点搞砸了ASP.NET MVC,在标记中它在视图模型对象上有intellisense,所以您不会错误地输入它(我喜欢它)。
输入WPF,我喜欢它,我正在使用MVVM方法,我必须做的一件烦人的事情是确保我正确地绑定到我的视图模型。所以我在我的xaml中输入了一些东西,如果我很懒,只需运行这个应用程序,然后单击2)如果我不懒惰,请查看我正在使用的控件的当前DataContext。(B)转到那个ViewModel类,查看属性c),找到我的属性,然后单击“我的视图”,确保拼写正确。
我相信您可以在运行时查看跟踪输出中的不正确绑定,但在xaml中是否存在允许intellisense的内容。视图需要了解我的ViewModel,那么为什么不在xaml中公开它呢?
我认为IDE最好这样做,这意味着,当我输入"{Binding "时,它应该上升到视觉树上,找到第一个非空DataContext并显示属性,让我选择一个,然后在那里得到它。
我是不是遗漏了什么?有没有其他选择。有洞察力吗?
编辑:
对于下面的注释,有一种方法可以在设计时设置数据文本。
<Window.Resources>
<DesignTimeData:DesignTimeCustomers x:Key="designTimeCustomersDS" />
</Window.Resources>这是这个博客的一个片段:http://karlshifflett.wordpress.com/2008/10/11/viewing-design-time-data-in-visual-studio-2008-cider-designer-in-wpf-and-silverlight-projects/
它所做的就是引用xaml中的一个类。
这样,设计人员就不能利用数据文本上的反射来为该类提供所有属性吗?
发布于 2011-06-17 08:54:46
这样,设计人员就不能利用数据文本上的反射来为该类提供所有属性吗?
Resharper 6具有此特性,如果在视图上设置d:DataContext,则可以在intellisense中显示d:DataContext的成员。
发布于 2015-02-15 15:50:47
2013年:
具有解析IntelliSense的DataContext

设计时间为IntelliSense的DataContext

发布于 2009-06-03 15:46:51
Visual 2010将支持绑定方面的intellisense。但是,这仅限于绑定对象本身的属性。例如,在XAML编辑器中键入"{Binding“之后,我将获得其余属性(Path、ElementName等)上的intellisense。
我不认为您指定的数据上下文的intellisense类型是可能的,因为数据上下文是在运行时设置的。我尝试过在VS 2010中直接在构造函数中设置数据上下文,但没有任何成功。
https://stackoverflow.com/questions/944987
复制相似问题