Найти элемент управления Silverlight Frame из другого файла CS - PullRequest
0 голосов
/ 02 декабря 2011

Допустим, у вас есть страница 1 в приложении silverlight 4 с Treeview на одной панели и Frame на другой панели для перехода на другие страницы. Когда выбран узел Treeview, он запускает событие в файле UserControl cs, который является кодом для Treeview. Как позвонить по Frame на странице 1, чтобы перейти к другому URI?

1 Ответ

0 голосов
/ 02 декабря 2011

Самый простой способ - присвоить Name для Frame и получить к нему доступ через автоматически сгенерированное поле.

Если я правильно понял, это должно сработать:

XAML пользовательского элемента управления:

<UserControl>
  <StackPanel>
    <StackPanel>
      <TreeView SelectionChanged="treeView_SelectionChanged"/>
    </StackPanel>

    <StackPanel>
      <!-- Additional Frame setup omitted for brevity -->
      <Frame x:Name="frame"/>
    </StackPanel>
  </StackPanel>
</UserControl>

Код позади пользовательского элемента управления:

void treeView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
  var targetUri = this.GetTargetUriFromSelectedItem(e); // TODO: implement your target uri retrieval logic
  this.frame.Navigate(targetUri);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...