in

DotNetSide

Dot Net South Italy Developers User Group

Tips

WPF

  • XAML inline code

    Autore: Vito Arconzo

    Uno degli aspetti interessanti del nuovo linguaggio di markup XAML è la possibilità di avere del codice inline.

    Ecco come:

    <Window x:Class="WindowsApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Loaded="Window1_Loaded"> <x:Code> <![CDATA[ void Window1_Loaded(object sender, RoutedEventArgs e) { this.Title="Titolo...."; TextBox txt = new TextBox(); txt.Text="hello dotnetsiders!!!"; this.Content=txt; } ]]> </x:Code> </Window>
    Posted Nov 27 2006, 05:23 PM by VitoA with no comments
    Filed under:
  • Hyperlink in WPF

    Autore: Vito Arconzo

    Un quesito ricorrente nei forum su Windows Presentation Foundation è come creare un hyperlink per aprire il browser su una pagina web indicata.

    La risposta è differente a seconda se si tratti di un'applicazione standalone o browser.

    Browser

    Nelle applicazioni di tipo browser la cosa è molto semplice:

    <TextBlock> <Hyperlink NavigateUri="http://www.dotnetside.org" TargetName="_top"> Navigate the top-level window to DotNetSide </Hyperlink> </TextBlock>

    Standalone

    Sfortunatamente, nelle applicazioni standalone, la cosa non è così immediata e il modo più semplice è quello di utilizzare l'evento RequestNavigate del controllo HyperLink e, quindi, gestire l'apertura del browser nel code-behind:

    <TextBlock> <Hyperlink RequestNavigate="HandleRequestNavigate" Name="hl"
    NavigateUri="http://www.dotnetside.org"> Open DotNetSide in the default browser </Hyperlink> </TextBlock>
    void HandleRequestNavigate(object sender, RoutedEventArgs e) { string navigateUri = hl.NavigateUri.ToString(); Process.Start(), e.g. check to see Process.Start(new ProcessStartInfo(navigateUri)); e.Handled = true; }
    Posted Oct 17 2006, 09:00 PM by VitoA with no comments
    Filed under: ,
Powered by Community Server (Commercial Edition), by Telligent Systems