Двухстороннее связывание между текстовым полем со страницы родительского Silverlight и другим локальным текстовым полем пользовательского элемента управления Silverlight - PullRequest
1 голос
/ 06 октября 2010

Я использовал DependencyProperty для передачи значения из текстового поля на странице silverlight во внешний пользовательский элемент управления silverlight, расположенный на той же странице, и это прекрасно работает.

Но проблема в том, что я не смог привязать Textbox на странице в обратном порядке.то есть, когда мне нужно внести изменения в родительскую страницу, когда текст текстового поля ее usercontrol изменяется.

XAML:

<TextBox x:Name="TextDataCollectionAccounts" Width="200" Height="25" VerticalAlignment="Top"></TextBox>                    
<Local:CalControl   x:Name="RCal" DateRange="{Binding ElementName=TextDataCollectionAccounts, Path=Text, Mode=TwoWay}" Visibility="Collapsed"/>

Как связать «TextDataCollectionAccounts» (на странице silverlight) с Textbox из"Local: CalControl"?

1 Ответ

1 голос
/ 06 октября 2010

По сути, никогда не пытайтесь привязать к внутренней работе пользовательского элемента управления.Рассматривайте его как сторонний элемент управления и предоставляйте свойства и события.

  • Предоставьте свойство Text TextBox как свойство зависимости Text в вашем пользовательском контроле.
  • Поймать событие изменения TextBox и вызвать событие изменения свойства для нового Текст свойства зависимостей.
  • Затем вы можете просто привязать свой новый Текст свойство в вашем пользовательском элементе управления.

Если вам нужен конкретный пример, просто спросите, но, похоже, вы почти у цели и знаете свои DP.

...