делая разные взгляды в серебряном свете - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть приложение silverlight и веб-сайт, на котором оно размещено. У меня есть три ссылки на веб-странице asp, которые я хочу, чтобы на каждой ссылке отображалось другое приложение silverlight или другой вид silverlight. В окнах форм мы просто создаем новую форму, но в Silverlight, как это сделано? создав новый проект и повторно разместив файл XAP или добавив другой файл Page.Xaml .?

я сделал так:

<Application.Resources>
    <ResourceDictionary x:Key="AppResource">
        <navigationCore:UriMapper x:Key="UriMapper">
            <navigationCore:UriMapping Uri="page1" MappedUri="AddRoute.xaml"/>
        </navigationCore:UriMapper>
    </ResourceDictionary>
</Application.Resources>

и в жопе вот так:

<a href="Page1.aspx">Page1</a>

1 Ответ

2 голосов
/ 04 апреля 2012

создаст одно приложение silverlight (файл XAP) и создаст 3 разных представления.Вы можете добавить UriMapper в свое приложение silverlight, а затем ваши html-ссылки просто указывают на страницы silverlight.Ниже описано, как вы можете настроить этот маппер в своем App.xaml

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"    
             xmlns:navigationCore="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"
             mc:Ignorable="d">

    <Application.Resources>
        <ResourceDictionary x:Key="AppResources">

            <!-- Uri Mapper -->
            <navigationCore:UriMapper x:Key="UriMapper">
                <navigationCore:UriMapping Uri="Page1" MappedUri="/View/Page1.xaml" />
                <navigationCore:UriMapping Uri="Page2" MappedUri="/View/Page2.xaml" />
                <navigationCore:UriMapping Uri="Page3" MappedUri="/View/Page3.xaml" />
            </navigationCore:UriMapper>


        </ResourceDictionary>

    </Application.Resources>
</Application>

Теперь вы можете просто настроить свои HTML-ссылки следующим образом:

<a href="http://site.com/#Page1">Page 1</a>
<a href="http://site.com/#Page2">Page 2</a>
<a href="http://site.com/#Page3">Page 3</a>

В конце концов, наличие одного Silverlight XAP будетсоздайте лучший пользовательский интерфейс и избегайте необходимости постоянно раскручивать каждое приложение, если они были отдельными

Редактировать:

Примечание. Приведенный выше MappedUri - это путь в приложении Silverlight,Поэтому, если ваше приложение silverlight размещено на странице Page1.aspx, то вам нужен следующий URL-адрес:

<a href="Page1.aspx#page1>Page 1</a>

"page1" определен в вашем приложении. Xaml

...