【问题标题】:Xaml designer doesn't show content of a usercontrolXaml 设计器不显示用户控件的内容
【发布时间】:2013-12-06 19:03:32
【问题描述】:

我们在 xaml 中定义了一个专门的 TabItem:

<TabItem  x:Class="MyApp.MyViewTab" xmlns:my="clr-namespace:MyApp">
    <my:MyView />
</TabItem>

和后面的代码:public class MyViewTab : TabItem。 而MyViewUserControl

MyView 在 xaml 设计器中正确显示,并且在运行时也正确显示为 TabItem 的内容。

xaml 设计器为什么不显示MyView 的内容?它是一个灰色的矩形,上半部为浅灰色,下半部为深灰色。

【问题讨论】:

  • 关闭设计器,打开设计器,重建您的项目,刷新设计器,...点击周围 :) 这应该会有所帮助
  • @devhedgehog:我喜欢这个建议,试过但没有。也许是因为 TabItem 没有从 UserControl 继承?
  • 我现在看到您在 TabItem 上设置了 x:Class。是的,设计师需要将 Window 作为 root 或 Page 或任何导航控件。要了解有关导航的更多信息,请查看此链接:msdn.microsoft.com/en-us/library/ms750478%28v=vs.110%29.aspx
  • 我应该接受一个答案,“设计者需要一个像窗口一样的导航控件,页面作为根”就是答案。
  • 我可以给你发这个吗?

标签: wpf xaml designer


【解决方案1】:

尝试在 UI 设计器和代码之间拆分屏幕,然后单击您声明 MyView 控件的代码行。这应该让设计者关注 TabItem 的内容:

<TabItem  x:Class="MyApp.MyViewTab" xmlns:my="clr-namespace:MyApp">
    <my:MyView />   <!--Click here-->
</TabItem>

如果您单击TabItem 中的任意位置,它应该会执行相同的操作。

【讨论】:

  • @Ssheridan:不幸的是,这在我的计算机(VS2013)上不起作用,也通过 Document Outline 尝试过,但没有。可能是因为 TabItem 没有从 UserControl 继承?
  • 听起来不错的旧 Visual Studio 已经再次取消了以前的有用功能。
  • Blend 2013 或 VS2012 也不显示内容,我就忽略这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多