Установка x: Name в теге UserControl внутри UserControl иногда приводит к сбою приложения - PullRequest
0 голосов
/ 16 декабря 2010

Я создал UserControl с именем Marked. Код для контроля:

<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: имя marker уже завершено.

при перезапуске приложения оно работает правильно.

Я пытался удалить x: из x: Name = "marker" в Name = "marker", но привязка к изображению не работает. Я попытался установить привязку в коде позади, он также не работает.

В чем проблема с x: Name?

1 Ответ

1 голос
/ 16 декабря 2010

Попробуйте задать x:Name для управления изображением.
Удалить x:Name из вашего UserControl.
В коде позади установите DataContext вашего изображения на this.
Удалите ElementName = marker в вашей привязке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...