2010-12-16 12 views
0

Ich habe ein UserControl mit dem Namen Marked erstellt. Der Code für das Steuerelement lautet:Einstellung x: Name auf dem UserControl-Tag in einem UserControl stürzt manchmal die Anwendung

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

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

    </StackPanel> 
</UserControl> 

Im Code hinter habe ich zwei Abhängigkeitseigenschaften festgelegt: MarkSource und IsMarked.

Wenn ich die Kontrolle verwende ich etwas tun, wie folgt aus:

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

Das Problem ist: 1. Die individuelle Steuerung funktioniert. 2. Manchmal, wenn ich die Anwendung starte, erhalte ich den folgenden Fehler: Xaml Baum Fehler der Name Marker bereits beendet.

Wenn ich die Anwendung neu starte, funktioniert es korrekt.

Ich habe versucht, entfernen Sie die x: von der X: Name = "Marker" zu Name = "Marker", aber die Bindung auf das Bild funktioniert nicht. Ich habe versucht, die Bindung im Code hinter zu installieren, es funktioniert auch nicht.

Was ist das Problem mit dem x: Name?

Antwort

1

Versuchen Sie x:Name zu Ihrem Image-Steuerelement zu geben.
Entfernen Sie x:Name von Ihrem UserControl.
In Code hinter Satz DataContext von Ihrem Bild zu this.
Entfernen Sie ElementName = marker in Ihrer Bindung.

+0

Samvel du hast es geschafft. Danke Kumpel. –

+0

Gern geschehen :) –

Verwandte Themen