Blog

posts

Windows 8 XAML Tips - Show a task pane

1 Comments
By Fons Sonnemans, 25-6-2012

You can integrate the look and feel introduced in Windows 8 Release Preview into your Metro style app by using the Animation Library suite of Windows-provided animations. Use of the Animation Library animations provides these benefits:

  • Motions that align to Metro style animation principles
  • Fast, fluid transitions between UI states that inform but do not distract the user
  • Clearer visuals to show the user transitions within an app

One of the animations that are supplied in the Animation Library is the show hide panel animation. You use it to show and hide a panel, which is large edge-based UI such as a custom keyboard or a task pane. This 'Windows Animation (Metro styled apps)' article shows you how you can use the PaneThemeTransition animation class in XAML. The article also contains the video below in which the animation is shown. Sadly there is no code sample how to use it in your XAML/C# application. With this blog I want to fill in the gap. I will explain you how you get the animation as shown in the video.

Show a task pane video

If you play this video you will see a task plane appear from the right side of the screen.

My Solution

In my solution I have a page with only one button. If you click this button a red Rectangle will appear from the right side of the screen. You can off course replace this Rectangle with your own User Control.

I use a Popup control to show my red Rectangle with a with of 300 pixels. The Child property of the Popup is set to the Rectangle. The Popup has a ChildTransitions which is filled with a PaneThemeTransition animation object. The PaneThemeTransition object has a Edge property set to the Right. The left position of the Popup is calculated using the actual width of the page minus the width of the rectangle. This position and the height of the Rectangle are set every time the pane is shown because it can differ due to view changes (filled, landscape, portrait).

public sealed partial class MainPage : Page {

    private Popup _popup;

    public MainPage() {
        this.InitializeComponent();
    }

    private void ButtonShow_Click(object sender, RoutedEventArgs e) {
        ShowTaskPane();
    }

    /// <summary>
    /// Show and hide a task pane or other large UI container from the edge of the screen.
    /// http://msdn.microsoft.com/en-US/library/windows/apps/hh975420
    /// </summary>
    private void ShowTaskPane() {
        const int width = 300;

        if (_popup == null) {

            var rect = new Rectangle {
                Fill = new SolidColorBrush(Colors.Red),
                Width = width,
            };

            _popup = new Popup {
                IsLightDismissEnabled = true,
                ChildTransitions = new TransitionCollection(),
                Child = rect,
            };

            _popup.ChildTransitions.Add(new PaneThemeTransition 
                                        { Edge = EdgeTransitionLocation.Right });
        }

        (_popup.Child as FrameworkElement).Height = this.ActualHeight;
        _popup.SetValue(Canvas.LeftProperty, this.ActualWidth - width);
        _popup.IsOpen = true;
    }
}

Closure

I hope you like my solution. I my next blog I will try to create a more generic one. I will then use it to show task panes from the Settings charm.

Cheers,

Fons

Windows 8 XAML Tips – Custom Fonts

1 Comments
By Fons Sonnemans, 12-6-2012

It is time for me to write a series of blog items on writing XAML applications for Windows 8. I plan to write one every two weeks. I hope I can keep up the promise.

Custom Fonts

I have developed XAML applications in Silverlight (Browser and Phone) for a couple of years. I used custom fonts in those Apps using Expression Blend. It contains a Font Manager which you can use to embed a font into the application (project/assembly). Blend for Visual Studio doesn’t allow you to use the Font Manager. The menu option is disabled in this Release Candidate. I hope to get it back in a future version.

The default FontFamily in a Metro app is ‘Segoe UI’ which is called ‘Global User Interface’ in Blend. You can of course use Blend or Visual Studio to select another FontFamily. But if your user doesn’t have this font installed you will get the default font. That’s why you will have to add the font to the application.

Luckily it is possible to add it to the application manually. For this demo I will be using a free true type font called 123Sketch which I downloaded here: http://www.dafont.com/123sketch.font. First I created a new folder in my project named ‘Fonts’. I added my font file to this folder. The Build Action for the file is set to ‘Content’ which is required.

123Sketch.ttf added to the Fonts folder

You reference the font file and font name in your XAML using the following format:
FontFamily="/<path to font file>/<font file>#<font name>"

So in my case a TextBlock would be defined like this.

<TextBlock
    Text="Hello World"
    FontSize="45"
    FontFamily="/Fonts/123Sketch.ttf#123Sketch" />

FontFamily Resource

It is smart to create a Resource for this FontFamily property. This will make it easier for you if you want to change the font for another one. In Blend you can convert the FontFamily by clicking on the white square next to the dropdown.

Convert FontFamily to New Resource

You will get a dialog in which you can set the name (key) of the resource and the location where it will be defined. In this demo I named it ‘MyCustomFont’ and defined it in ‘This Document’. Choosing the ‘Application’ or a ‘Resource Dictionary’ would make this resource reusable in other documents.

Create FontFamily Resource

You can now use the resource for the FontFamily property in other elements. Just pick it from the ‘Local Resource’.

Assign Local Resource

Result

The XAML of the Page including the static resource and two TextBlock elements would look like this.

<Page
    x:Class="FontDemo.MainPage"
    IsTabStop="false"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:FontDemo"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Page.Resources>
        <!-- TODO: Move the next line to App.xaml or a ResourceDictionary -->
        <FontFamily            
            x:Key="MyCustomFont">/Fonts/123Sketch.ttf#123Sketch</FontFamily>
    </Page.Resources>

    <Grid
        Background="{StaticResource ApplicationPageBackgroundThemeBrush}">

        <TextBlock
            HorizontalAlignment="Left"
            Margin="65,48,0,0"
            TextWrapping="Wrap"
            Text="Hello"
            VerticalAlignment="Top"
            FontSize="45"
            FontFamily="{StaticResource MyCustomFont}" />

        <TextBlock
            HorizontalAlignment="Left"
            Margin="65,118,0,0"
            TextWrapping="Wrap"
            Text="World"
            VerticalAlignment="Top"
            FontSize="45"
            FontFamily="{StaticResource MyCustomFont}" />

    </Grid>
</Page>

If you start the application in the Simulator you get this result.

Simulator showing the result

I hope this helps you. Fonts often are copyright protected. So if you want to add one make sure you have the rights or use a free one.

Cheers,

Fons

'Sudoku Free' eerste Nederlandse Windows 8 app

1 Comments
By Fons Sonnemans, 7-6-2012

Sudoku Free is het de eerste Nederlandse applicatie in de Windows 8 Store. Het spel is gebaseerd op de Windows Phone Sudoku app die in oktober 2010 in de Marketplace verscheen. Overigens ook als eerste Nederlandse app.

Bij de Windows 8 app heeft Flavour mij geholpen met de grafische vormgeving. Bij het ombouwen heb ik een hergebruik van 90% van de code gerealiseerd. De schermen (XAML) zijn door de grotere schermformaten redelijk veel gewijzigd.

In deze eerste week is de app al ruim 10.000 keer gedownload. De reviews zijn zeer positief. Ik ben dan ook van plan om diverse van mijn WP7 apps om te bouwen naar Windows 8.

Omschrijving

Speel standaard 9x9 Sudoku puzzels. Train en versterk uw hersenen in visueel scannen. Met drie moeilijkheidsgradaties, intuïtieve metro-stijl interface, en alle functies binnen handbereik, is dit Sudoku spel is zeker snel uw favoriet.

Mogelijkheden

    • 3 verschillende moeilijkheidsgradaties (eenvoudig, normaal, moeilijk)
    • willekeurige puzzel generator zodat u altijd een andere puzzel krijgt
    • automatisch opslaan (roaming)
    • ondersteunt touch, muis en toetsenbord
    • ongedaan maken, opnieuw en notities
    • valideren, hint, oplossen
    • Nederlands of Engels

    Download

    Als u de Windows 8 Release Preview geïnstalleerd heeft kunt u het spel nu al downloaden door op de onderstaande afbeelding te klikken.

    Screenshots

    Hoofdvenster Start van een normale puzzel Bij het oplossen kunt u gebruik maken van notities Controleer de puzzel vanuit de applicatiebalk Sudoku instellingen Puzzle opgelost Windows Store

    Groeten,

    Fons

    Tags: Windows 8, Apps

    Windows 8 DevCamp sessies

    0 Comments
    By Fons Sonnemans, 26-4-2012

    Op 12 en 13 april 2012 heeft Microsoft Nederland in de Fabrique in Maarssen het Windows 8 Developer & User Experience Design Camp georganiseerd. Het was een druk bezocht evenement waarbij er een bijna 50/50 mix was van developers en designers.

    De eerste dag bestond uit een programma van sessies, waarbij er ook breakouts waren voor developers en voor designers. Hiervan heb ik 2 sessies mogen verzorgen. Deze sessies zijn opgenomen en staan nu online op Channel9.

    Het bouwen van een Metro style app

    Deze sessie laat zien hoe met XAML, C# en WinRT een Metro style applicatie voor Windows 8 gebouwd kan worden. Er wordt getoond wat de veranderingen en toevoegingen zijn in Windows 8. Denk hierbij aan asynchroon programmeren en andere technieken die de kwaliteit van Metro style apps zullen verhogen.

    Laat je Metro style app leven door tiles en notificaties

    Gebruikers worden als het ware naar een app toegetrokken door het gebruik van actieve tiles op het start scherm. Notificaties die door de Windows Push Notification Service verstuurd kunnen worden, kunnen gebruikers weer de aandacht vestigen op een app zonder dat die actief is. In deze sessie wordt verteld hoe tiles en notificaties gebruikt kunnen worden. Er wordt ook geleerd hoe een tile een deep link naar specifieke informatie in een app kan verzorgen

    Overige sessies

    Cheers,

    Fons

    MessageBox.Show() in WinRT

    6 Comments
    By Fons Sonnemans, 12-3-2012

    I'm currently in the process of converting some of my Windows Phone apps to the Windows 8 Consumer Preview. While doing so I discovered there is no MessageBox.Show() method in WinRT. The alternative is to use the new MessageDialog class. This means I have to rewrite a lot of code which I try to avoid. Therefore I came up with my own MessageBox helper class which mimics the behavior of the WP7 MessageBox. In this post I will demonstrate this, using the following sample application.

    Suppose I have the following code in my Windows Phone application:

    private void Button1_Click(object sender, RoutedEventArgs e) {
        var result = MessageBox.Show("This is MessageBox", "Title", MessageBoxButton.OKCancel);
        if (result == MessageBoxResult.OK) {
            // do something    
        }
        Button1.Content = result.ToString();
    }
    

    In Windows 8 I would have to rewrite it to the following:

    private async void Button1_Click(object sender, RoutedEventArgs e) {
        MessageDialog md = new MessageDialog("This is a MessageDialog", "Title");
        bool? result = null;
        md.Commands.Add(
           new UICommand("OK", new UICommandInvokedHandler((cmd) => result = true)));
        md.Commands.Add(
           new UICommand("Cancel", new UICommandInvokedHandler((cmd) => result = false)));
    
        await md.ShowAsync();
        if (result == true) {
            // do something    
        }
        Button1.Content = result.ToString();
    }
    

    As you can see I have marked the Button1_Click() method with the async keyword. This is necessary because the ShowAsync() method is called, using the new await keyword. The MessageDialog is shown in an seperate thread which will allow the main thread to continue to execute. This allows all animations running on the main thread to continue to play.

    My MessageBox show helper class makes my conversion much easier. You only have to change the Show() call to a ShowAsync() call and add the await and async keywords.

    private async void Button2_Click(object sender, RoutedEventArgs e) {
        var result = await MessageBox.ShowAsync("This is a MessageBox", 
                                                "Title", MessageBoxButton.OKCancel);
        if (result == MessageBoxResult.OK) {
            // do something    
        }
        Button2.Content = result.ToString();
    }
    

    Here is the code of my MessageBox helper class:

    using System;
    using System.Threading.Tasks;
    using Windows.UI.Popups;
    
    namespace ReflectionIT.Windows8.Helpers {
    
        class MessageBox {
    
            public static async Task<MessageBoxResult> ShowAsync(string messageBoxText, 
                                                                 string caption, 
                                                                 MessageBoxButton button) {
    
                MessageDialog md = new MessageDialog(messageBoxText, caption);
                MessageBoxResult result = MessageBoxResult.None;
                if (button.HasFlag(MessageBoxButton.OK)) {
                    md.Commands.Add(new UICommand("OK", 
                        new UICommandInvokedHandler((cmd) => result = MessageBoxResult.OK)));
                }
                if (button.HasFlag(MessageBoxButton.Yes)) {
                    md.Commands.Add(new UICommand("Yes", 
                        new UICommandInvokedHandler((cmd) => result = MessageBoxResult.Yes)));
                }
                if (button.HasFlag(MessageBoxButton.No)) {
                    md.Commands.Add(new UICommand("No", 
                        new UICommandInvokedHandler((cmd) => result = MessageBoxResult.No)));
                }
                if (button.HasFlag(MessageBoxButton.Cancel)) {
                    md.Commands.Add(new UICommand("Cancel", 
                        new UICommandInvokedHandler((cmd) => result = MessageBoxResult.Cancel)));
                    md.CancelCommandIndex = (uint)md.Commands.Count - 1;
                }
                var op = await md.ShowAsync();
                return result;
            }
    
            public static async Task<MessageBoxResult> ShowAsync(string messageBoxText) {
                return await MessageBox.ShowAsync(messageBoxText, null, MessageBoxButton.OK);
            }
        }
    
        // Summary:
        //     Specifies the buttons to include when you display a message box.
        [Flags]
        public enum MessageBoxButton {
            // Summary:
            //     Displays only the OK button.
            OK = 1,
            // Summary:
            //     Displays only the Cancel button.
            Cancel = 2,
            //
            // Summary:
            //     Displays both the OK and Cancel buttons.
            OKCancel = OK | Cancel,
            // Summary:
            //     Displays only the OK button.
            Yes = 4,
            // Summary:
            //     Displays only the Cancel button.
            No = 8,
            //
            // Summary:
            //     Displays both the OK and Cancel buttons.
            YesNo = Yes | No,
        }
    
        // Summary:
        //     Represents a user's response to a message box.
        public enum MessageBoxResult {
            // Summary:
            //     This value is not currently used.
            None = 0,
            //
            // Summary:
            //     The user clicked the OK button.
            OK = 1,
            //
            // Summary:
            //     The user clicked the Cancel button or pressed ESC.
            Cancel = 2,
            //
            // Summary:
            //     This value is not currently used.
            Yes = 6,
            //
            // Summary:
            //     This value is not currently used.
            No = 7,
        }
    }
    

    I have also added the 'Yes' and 'No' Buttons to the MessageBoxButton enum. This is something I was always missing in the Windows Phone API. Now you can not only use OK/Cancel but also Yes/No/Cancel.

    private async void Button3_Click(object sender, RoutedEventArgs e) {
        var result = await MessageBox.ShowAsync("This is a MessageBox", "Title", 
                                                MessageBoxButton.YesNo | MessageBoxButton.Cancel);
        if (result == MessageBoxResult.Yes) {
            // do something    
        }
        if (result == MessageBoxResult.No) {
            // do something    
        }
        Button3.Content = result.ToString();
    }
    

    Download my sample project which contains all source code.

    Cheers,

    Fons

    Techdays 2012 Sessies

    0 Comments
    By Fons Sonnemans, 5-3-2012

    Ook dit jaar heb ik mogen spreken op het Techdays event van Microsoft dat op 16 en 17 februari in Den Haag gehouden is. Deze keer met 3 sessies waarvan er twee op Channel9 te bekijken zijn.

    Windows Phone applicaties ontwerpen en ontwikkelen met de Metro UI

    Metro UI is de design-interface waarop Microsoft onder andere Windows Phone 7 en Windows 8 heeft gebaseerd. Het is minimalistisch, clean en - zoals de naam al weggeeft - geïnspireerd op borden die veelal op metro-, treinstations en luchthavens te vinden zijn. In deze sessie leg ik uit hoe je Metro toepast om mooie applicaties te ontwikkelen. Hierbij maak ik gebruik van Silverlight, Visual Studio, Expression Blend, Expression Design en de Silverlight Toolkit. Aan de hand van een aantal praktijkvoorbeelden uit bestaande applicaties demonstreer ik wat niet correct is en hoe dit op te lossen is. Hierbij worden o.a. onderwerpen besproken als vormgeving, animatie en navigatie.

    Download Presentatie en Voorbeeld Code.

    Windows Phone applicaties omzetten naar Windows 8

    In deze sessie wordt een Windows Phone applicatie, die opgezet is volgens het MVVM patroon, omgezet naar Windows 8. Hierbij komen de verschillen in XAML, DataBinding, Animaties en Networking aan de orde. Ook wordt ingegaan op wat dit betekend voor de Touch bediening, Navigatie en Layout. Deze sessie zal voor een groot gedeelte bestaan uit demo’s waarbij de applicatie live omgezet wordt.

    Download Presentatie en Voorbeeld Code.

    Stand Up Windows Phone Development (GeekNight)

    Deze sessie is anders dan wat u gewend bent. Geen slides, geen agenda maar live on stage ontwikkelen. In deze sessie ga ik een aan de hand van de input van de aanwezigen een windows phone applicatie maken, u roept wij bouwen. De app zal natuurlijk ontwikkeld worden met Visual Studio en Expression Blend. Wat het wordt is dus nu nog niet bekend, leerzaam en leuk wordt het zeker!

    Download Voorbeeld Code.

    Helaas zijn er zijn geen videos van de Geeknight sessies.

    Cheers,

    Fons

    Bloq for Windows Phone 7

    0 Comments
    By Fons Sonnemans, 12-6-2011

    In this very addictive game you have to select 4 bloqs of the same color to make a rectangle. The number of bloqs in this rectangle are added to your score. Win bonus time if a numbered bloq is in this rectangle.

    Features:

    • Fun, good looking and addictive
    • Local and online highscores (overall, daily and weekly)
    • Choose your favorite color theme
    • Choose small or large bloqs
      • Download

        You can download it for free from the WP7 Marketplace.

        Screenshots

        Cheers,

        Fons

    DevDays 2011 Sessies

    0 Comments
    By Fons Sonnemans, 9-5-2011

    Ook dit jaar heb ik mogen spreken op het DevDays event van Microsoft dat op 28 en 29 april in Den Haag gehouden is. Deze keer met 3 sessies waarvan er twee op Channel9 te bekijken zijn. Helaas is mijn 'Windows Phone Marketplace' sessie van de Geeknight niet gepubliceerd.

    Overzicht van Silverlight voor Windows Phone Toolkit

    Microsoft heeft met het uitbrengen van de Silverlight Toolkit een aantal extra componenten uitgebracht voor het ontwikkelen van de Windows Phone applicaties. In deze sessie zie je wat de mogelijkheden van deze componenten zijn. De AutoCompleteBox, ListPicker, LongListSelector, DatePicker, TimePicker, ToggleSwitch en WrapPanel controls zie je ingezet worden voor mooiere applicaties. De services zie je toegepast worden voor gestures, context menu en pagina transities.

    Download Presentatie en Code voorbeelden.

    Designing Windows Phone Applications met Expression Blend

    In deze sessie zie je hoe Microsoft Expression Blend gebruikt kan worden voor het ontwerpen van Windows Phone applicaties. De ApplicationBar-, Panorama- en Pivot controls zie je toegepast worden en zie je hoe je in Blend animaties, styling en de Visual State Manager kunt inzetten. Je leert hoe je Behaviors gebruikt om logica te implementeren zonder te programmeren. En tot slot zie je hoe je Sample Data en Data Binding gebruikt.

    Download Presentatie.

    Windows Phone Marketplace

    Applicaties en games worden via de Windows Phone Marketplace gedistribueerd. In deze sessie zie je wat je moet doen om je eigen applicaties en games in de Marketplace te krijgen en eventueel er ook nog geld aan te verdienen. Je ziet de stappen voor registratie en applicatie upload. Je ziet aan welke eisen een applicatie moet voldoen, maar ook de tips en tricks om zo veel mogelijk downloads te genereren. Ook zie je hoe je de IRS formulieren kunt invullen zodat je niet te veel belasting betaalt.

    Download Presentatie en Tiles Template voor Expression Design.

    Cheers,

    Fons

    TechDays 2011 WP7 app

    0 Comments
    By Fons Sonnemans, 4-4-2011

    I have written a new WP7 application which is now available on the Marketplace.

    TechDays

    Description

    TechDays 2011 for Windows Phone delivers users scheduling and speakers information from Microsoft TechNet_Live, DevDays and GeekNight. It will be held on 26 - 29 April in the World Forum, The Hague, The Netherlands.

    This is an unofficial app developed by Fons Sonnemans (Reflection IT). Visit his DevDays sessions and learn how it was developed.

    Download

    You can download it for free from the Windows Phone marketplace.

    Cheers,

    Fons

    Mijn W-8BEN voor de Windows Phone 7 Marketplace

    1 Comments
    By Fons Sonnemans, 24-3-2011

    Om je inkomsten van je applicaties, die via de Marketplace verkocht worden, uitbetaald te krijgen, dien je een aantal stappen te ondernemen, zodat je niet dubbel belasting betaalt. Vanwege een verdrag tussen Amerika en Nederland is het mogelijk dat je in Amerika geen belasting betaalt over deze inkomsten, mits je de goede formulieren correct invult. Wel moet je in Nederland separaat aangifte doen over deze inkomsten.

    Ik heb op dit moment 6 applicaties in de WP7 Marketplace. Vanaf januari dit jaar betaalt Microsoft USA mij maandelijks mijn inkomsten uit. Hierbij houden zij geen belasting in omdat ik mijn W-8BEN formulier correct ingevuld en opgestuurd heb. In deze blogpost beschrijf ik hoe ik dat gedaan heb.

    Onlangs heeft Matthijs Hoekstra van Microsoft Nederland zijn 'Windows Phone 7 Marketplace, W7, W8, EIN, ITIN, hoe zit dat nou?' blogpost geschreven. Hierin geeft hij uitleg welke formulieren ingevuld moeten worden. In het artikel heeft hij daar een mooi schema opgenomen. Ik ontwikkel mijn applicaties vanuit Reflection IT BV (Besloten Venootschap) en heb dus ook een BTW nummer (VAT). Daarom heb ik dus de Form SS-4, EIN Number, Form W-8(BEN) route gevolgd.

    Form SS-4

    Om een EIN nummer aan te vragen heb ik eerst een SS-4 formulier ingevuld. Deze heb ik gebruikt om daarna deze gegevens telefonisch door te geven aan de US Tax Office (IRS). Dit omdat dit sneller gaat dan de post. Je krijgt namelijk dan direct het nummer en een paar dagen later via de post de bevestiging.

    Klik op de onderstaande afbeelding om de PDF versie van mijn ingevulde formulier te openen. Op een aantal plaatsen heb ik vraagtekens gebruikt om mijn persoonlijke gegevens te verbergen.

    Form SS-4

    Op de 'How to Apply for an EIN' pagina van de IRS staat het internationaal telefoon nummer (+1 267 941-1099) dat ik gebruikt heb. 5 Minuten later had ik mijn EIN en kon ik het W-8BEN formulier invullen.

    W-8BEN

    Klik op de onderstaande afbeelding om de PDF versie van mijn ingevulde formulier te openen. Let wel op dat ik bij vraag 3 ingevuld heb dat ik een Corporation ben (BV) waardoor er sprake is van loondienst. Ik weet niet wat een eenmanszaak of privé persoon dient in te vullen. Bij vraag 6 heb ik mijn EIN ingevuld.

    Form W-8BEN

    Je kunt tegenwoordig je W-8BEN formulier door Microsoft laten controleren voor dat je deze officieel indient. Stuur deze via een email bij naar mplcomm@microsoft.com. Zij melden dan of het goed is ingevuld. Dit heb ik zelf niet gedaan omdat deze service toen nog niet bestond.

    Dit formulier stuur je naar het onderstaande adres.
    Microsoft - Windows Phone Marketplace
    Attn: Finance Department
    29011 Commerce Center Drive
    Valencia, CA 91355
    USA

    Dit adres afkomstig van deze FAQ pagina is het correcte adres. Op deze pagina staat een ander adres wat nogal wat verwarring veroorzaakt. Indien dit laatste adres gebruikt wordt zal Microsoft deze post doorsturen naar het correcte adres.

    Helaas krijg je geen bevestiging van ontvangst of correctheid. Pas als je de eerste $200,- uitbetaald krijgt weet je of het goed gegaan is. Ook de App Hub site blijft melden dat er nog geen W-8BEN ontvangen is tot deze eerste uitbetaling. Je kunt jammer genoeg tussentijds niet controleren of je aanvraag goed terechtgekomen is.

    ITIN en W-7

    Omdat ik vorig jaar nog niet wist dat ik een EIN nodig had heb ik overigens ook een ITIN aangevraagd. Deze heb ik ook ontvangen maar daarna niet meer gebruikt. Om dit aan te vragen heb ik het W-7 formulier ingevuld en opgestuurd naar de IRS. Daarbij heb ik een gewaarmerkte kopie van mijn paspoort meegestuurd. Alleen een handtekening is echter niet voldoende, hierop moet duidelijk de naam van de ambtenaar van de burgerlijke stand bijgeschreven worden. Deze heb ik voor € 10,- verkregen bij het gemeentehuis. Je hoeft hiervoor dus niet naar een notaris of ambassade. Tot slot moet je ook deze brief (PDF) downloaden, afdrukken, ondertekenen en meesturen.

    Klik op de onderstaande afbeelding om de PDF versie van mijn ingevulde formulier te openen.

    Form W-7

    Ik heb daarna bijna 2 maanden moeten wachten op deze aanvraag waarna ik een net briefje ontving met daarin mijn ITIN.

    Disclaimer

    Het invullen van alle formulieren is een hele zoektocht geweest. Gelukkig heb ik daar geen fouten in gemaakt. Ik hoop dat deze informatie gebruikt kan worden om zelf ook deze formulieren in te sturen. Deze informatie is uitsluitend bedoeld voor algemene informatiedoeleinden en is niet bedoeld als advies. Reflection IT BV is niet aansprakelijk voor enige schade ten gevolge van het gebruik (of de onmogelijkheid tot het gebruik) van deze informatie.

    Cheers,

    Fons

    All postings/content on this blog are provided "AS IS" with no warranties, and confer no rights. All entries in this blog are my opinion and don't necessarily reflect the opinion of my employer or sponsors. The content on this site is licensed under a Creative Commons Attribution By license.