Xaml Silverlight 4用户控件未出现

Xaml Silverlight 4用户控件未出现,xaml,silverlight-4.0,Xaml,Silverlight 4.0,我是SL的新手,一定错过了一些非常基本的东西 我创建了一个非常简单的用户控件,如下所示:- <UserControl x:Class="Company.UI.Common.Controls.TestControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:

我是SL的新手,一定错过了一些非常基本的东西

我创建了一个非常简单的用户控件,如下所示:-

<UserControl x:Class="Company.UI.Common.Controls.TestControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <Grid x:Name="LayoutRoot" Background="Yellow" Width="100" Height="20">
        <TextBlock Text="foo"></TextBlock>
    </Grid>
</UserControl>
然后将其包含在UI中,如下所示:-

<medControls:TestControl Width="100" Height="20" Visibility="Visible" />

但是,当我运行应用程序时,没有显示任何内容,只有控件所在的100x20像素的空白区域。我使用了Silverlight Spy,它显示了控件的存在,以及所有正确的细节——类型、程序集、可见性等。 我在用户控件的构造函数中放置了一个断点,可以确认正在调用InitializeComponent()

任何关于正在发生的事情的建议都将不胜感激,因为我正在为一件非常简单的事情而焦头烂额

提前谢谢 安迪

看看这是否有帮助:


我从未尝试在xaml中创建自定义usercontrol,我一直是通过编程实现的,您可以在本例中看到,但如果您使用一个ContentControl或一个ContentPresenter然后称您为usercontrol

,则可以实现,这是VS2010中已知的错误,报告如下:

基本上,在某些情况下,.csproj文件中元素的顺序可能会改变,从而导致XAML文件不包含在程序集中,这就是我所遇到的情况。没有运行时错误。没有什么。只是用户控件应该呈现的空白区域

上面的链接告诉您需要做些什么来解决问题,包括手动编辑.csproj文件和移动某些元素

顺便说一句,这个bug也是我遇到的另一个问题的原因,我的用户控件的代码后面引用了一个控件(例如“this.txtForename”)。使用FindName()在InitializeComponent中设置的控件引用始终为空

希望这对其他人有帮助


Andrew

您的用户控件很好,我认为承载它的视图有问题,您需要显示完整的代码
<medControls:TestControl Width="100" Height="20" Visibility="Visible" />