Можно ли загрузить пользовательский контроль через Uri в Wp7 - PullRequest
1 голос
/ 08 марта 2012

В WP7 вы можете легко перейти на новую страницу через NavigationService.

Например. _navigationService.Navigate (новый Uri ("/ View / SamplePage.xaml", UriKind.Relative));

Можно ли загрузить пользовательский элемент управления через Uri.

например. UserControl sampleControl = MagicLoadFunction (новый Uri ("/ Controls / SampleControl.xaml", UriKind.Relative))

Ответы [ 2 ]

2 голосов
/ 08 марта 2012

Если файл control / xaml содержит только xaml, а код не указан, вы можете загрузить файл как текст, а затем вызвать XamlReader.Load.

В качестве альтернативы, если вы зналинаберите элемент управления, который вы можете просто создать, и не нужно будет загружать его через Uri.Тип уже был бы скомпилирован.

Или, если вы пытаетесь каким-то образом создать контрольный список, в котором вы можете изменить XAML, который он показывает, то просто используйте шаблонизацию или сделайте его ContentPresenter и динамически установите содержимое.

1 голос
/ 08 марта 2012

Нет, вы не можете - фреймворк позволяет только переходить на страницы.Я не уверен, почему вы хотите перейти к пользовательскому элементу управления?Вы можете просто разместить этот элемент управления на странице:

<phone:PhoneApplicationPage 
    ...
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:local="clr-namespace:YourNameSpaceHere">
    <Grid x:Name="LayoutRoot">
        <local:SampleControl/>
    </Grid>
</phone:PhoneApplicationPage>

Затем перейдите к странице, а не к своему пользовательскому элементу управления напрямую.

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