2010-12-21 9 views

risposta

0

Sì, supponendo che non sia stato impedito il ridimensionamento utente, è possibile toccare lo zoom o utilizzare il pizzicamento/allungamento nello stesso modo in cui è possibile nel browser completo.

+1

Ho bisogno di farlo a livello di programmazione in .xaml o .cs – Janci

+0

@Janci Questo non è possibile. Se è il tuo contenuto che stai mostrando, adattalo in modo appropriato per la visualizzazione sul telefono. –

+0

Davvero? Nell'API di BlackBerry è abbastanza facile, continuerò a provare ... – Janci

5

Se si ha il controllo dell'html è possibile impostare initial-scale del viewport. Più sfondo qui.

The IE Mobile Viewport on Windows Phone 7

+0

sfortunatamente è la pagina di terze parti, se non ci saranno altre opzioni potrei provare a chiedere loro di apportare modifiche ... – Janci

+0

Dopo averti votato per aver trovato questo attributo ho letto il testo sottile sul tuo link: * Nota: nell'iniziale release, IE Mobile per Windows Phone 7 non supporta la scala iniziale, la scala massima o la scala minima. :( – johnhforrest

+0

Non posso assicurarti lo stato del supporto, ma nel WP7 era IE7 "e metà" e in Mango 7.1 si dice che sia IE8 "e un po '". È possibile che abbiano aggiunto il supporto per quello in la versione più recente – quetzalcoatl

5

sono andato con il seguente trucco:

BrowserControl.LoadCompleted += Browser_dohack; 
private void Browser_dohack(object sender, NavigationEventArgs e) 
    { 
     string html = BrowserControl.SaveToString(); 
     string hackstring = "<meta name=\"viewport\" content=\"width=320,user-scalable=yes\" />"; 
     html = html.Insert(html.IndexOf("<head>", 0) + 6, hackstring); 
     BrowserControl.NavigateToString(html); 
     BrowserControl.LoadCompleted -= Browser_dohack; 
    } 
0

sono andato con la fissazione di un-funzione CSS3scale sulla transform -property del corpo per la pagina richiesta, come so davvero il layout e che probabilmente non cambierà presto.

private void OnBrowserNavigated(object sender, NavigationEventArgs e) { 
    var browser = (sender as WebBrowser); 
    browser.InvokeScript("eval", 
     "var script = document.createElement('script');" + 
     "script.src = \"https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.0.min.js\";" + 
     "document.body.appendChild(script);" + 
     "$('body').css('transform-origin', '0 0');" + 
     "$('body').css('transform', 'scale(2.5)');"    
    ); 
} 

ho risolto tramite jQuery come trovo modo più conveniente. Avrei potuto farlo anche tramite javascript, dato che il browser di destinazione non è in discussione qui.