设置x:UserControl内UserControl标签上的名称有时会导致应用程序崩溃

时间:2010-12-16 09:59:00

标签: silverlight

我创建了一个名为Marked的UserControl。控件的代码是:

<UserControl .... x:Name="marker">
   <StackPanel Orientation="Vertical" x:Name="LayoutRoot">

      <Image Source="{Binding Path=MarkSource, ElementName = marker}" Visiblity="{Binding Path=IsMarked}"/>  

   </StackPanel>
</UserControl>

在后面的代码中我设置了两个依赖属性:MarkSource和IsMarked。

当我使用控件时,我会做这样的事情:

<my:Marker MarkSource="mark.jpg" IsMarked = {Binding Path=Person.IsActive}/>

问题是: 1.自定义控件有效。 2.有时当我启动应用程序时,我收到以下错误:Xaml树错误名称标记已经退出。

当我重新启动应用程序时,它可以正常工作。

我尝试将x:从x:Name =“marker”移除到Name =“marker”,但图像上的绑定不起作用。 我已经尝试在后面的代码中设置绑定,它也不起作用。

x:名称有什么问题?

1 个答案:

答案 0 :(得分:1)

尝试将x:Name提供给您的图像控件 从x:Name中删除UserControl 在图片集DataContext后面的代码中this 删除绑定中的ElementName = marker