Visual Studio Lightswitch is a Microsoft tool, 
which is used for to build business applications. If you want to browse a 
file in your LightSwitch application then follow these steps.
Step by step solution
Step 1 : Open Visual Studio 
LightSwitch->Create new table (like as FileInformation).
![image1.png]()
Step 2 : Right click on screens->Add 
screens.
![image2.png]()
Step 3 : Select editable grid 
screen->Select screen data (FileInformation)->Ok.
![image3.png]()
Step 4 : Now click on add in screen 
commandbar->Select new button.
![image4.png]()
Step 5 : Write method name 
(ImportFile)->Ok.
![image5.png]()
Step 6 : Right click on ImportAFile 
button->Edit execute code->Write the below code.
![image6.png]()
Code :
using System;
using 
System.Collections.Generic;
using System.IO;
using 
System.IO.IsolatedStorage;
using 
System.Linq;
using 
LightSwitchApplication.UserCode;
using 
Microsoft.LightSwitch;
using 
Microsoft.LightSwitch.Framework.Client;
using 
Microsoft.LightSwitch.Presentation;
using 
Microsoft.LightSwitch.Presentation.Extensions;
using 
Microsoft.LightSwitch.Threading;
namespace 
LightSwitchApplication
{
    public partial
class 
EditableFileInformationsGrid
    {
       partial void 
ImportAFile_Execute()
        {
             Dispatchers.Main.BeginInvoke(() 
=>
            {
                SelectFileWindow 
selectFileWindow = new
SelectFileWindow();
                selectFileWindow.Closed += new
EventHandler(selectFileWindow_Closed);
                selectFileWindow.Show();
            }); 
        }
        void selectFileWindow_Closed(object 
sender, EventArgs e)
        {
            SelectFileWindow 
selectFileWindow = (SelectFileWindow)sender;
          if (selectFileWindow.DialogResult ==
true && (selectFileWindow.DocumentStream !=
null))
            {
                byte[] fileData =
new byte[selectFileWindow.DocumentStream.Length];
                using (StreamReader 
streamReader = new 
StreamReader(selectFileWindow.DocumentStream))
                {
                    for (int 
i = 0; i < selectFileWindow.DocumentStream.Length; i++)
                    {
                    fileData[i] = (byte)selectFileWindow.DocumentStream.ReadByte();
                    }
                }
                FileInformation 
fileInformation = this.DataWorkspace.ApplicationData.FileInformations.AddN();
                fileInformation.Name = selectFileWindow.SafeFileName;
                fileInformation.Miscellaneous = 
"Size of file in bytes: " + fileData.Length
                fileInformation.Data = fileData;
                selectFileWindow.DocumentStream.Close();
                selectFileWindow.DocumentStream.Dispose();
            }
        }
    }
}
Step 7 : Go to file view in solution 
explorer.
![image7.png]()
Step 8 : Expand client->Right click on 
user code->Add->New item.
![image8.png]()
Step 9 : Select text file->Write name 
(SelectFileWindow.xaml)->Add->Write the below code.
![image9.png]()
Code :
<UserControl 
x:Class="LightSwitchApplication.UserCode.SelectFileWindow"
  
 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"
    mc:Ignorable="d"
    d:DesignHeight="300" 
d:DesignWidth="400">
    
<Grid 
x:Name="LayoutRoot" 
Background="White">
    
</Grid>
</UserControl>
<controls:ChildWindow 
x:Class="LightSwitchApplication.UserCode.SelectFileWindow"
         
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
           xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
           Width="394" 
Height="305" 
           Title="Select 
File Dialog" >
    
<Grid 
x:Name="LayoutRoot" 
Margin="2">
        
<Grid.RowDefinitions>
            
<RowDefinition 
/>
            
<RowDefinition 
Height="Auto" 
/>
        
</Grid.RowDefinitions>
        
<Button 
x:Name="CancelButton" 
Content="Cancel" 
Click="CancelButton_Click" 
Width="75" 
Height="23"
HorizontalAlignment="Right" 
Margin="0,12,0,0" 
Grid.Row="1" 
/>
        
<Button 
x:Name="OKButton" 
Content="OK" 
Click="OKButton_Click" 
Width="75" 
Height="23"
HorizontalAlignment="Right" 
Margin="0,12,79,0" 
Grid.Row="1" 
/>
        
<Button 
Content="Browse" 
Height="23" 
HorizontalAlignment="Left" 
Margin="291,92,0,0" 
Name="BrowseButton"
VerticalAlignment="Top" 
Width="75" 
Click="BrowseButton_Click" 
/>
        
<TextBox 
Height="23" 
HorizontalAlignment="Left" 
Margin="66,92,0,0" 
Name="FileTextBox"
VerticalAlignment="Top" 
Width="219" 
IsEnabled="True"/>
    
</Grid>
</controls:ChildWindow>
Step 10 : Again right click on user 
code->Add->New item.
![image8.png]()
Step 11 : Select class->Write name 
(SelectFileWindow.cs)->Add->Write the below code.
![image10.png]()
Code :
using System;
using 
System.Net;
using 
System.Windows;
using 
System.Windows.Controls;
using 
System.Windows.Documents;
using 
System.Windows.Ink;
using 
System.Windows.Input;
using 
System.Windows.Media;
using 
System.Windows.Media.Animation;
using 
System.Windows.Shapes;
namespace 
LightSwitchApplication.UserCode
{
    public partial
class 
SelectFileWindow : ChildWindow
    {
        public SelectFileWindow()
        {
            InitializeComponent();
        }
        private FileStream documentStream;
        public FileStream DocumentStream
        {
            get { 
return documentStream; }
            set { documentStream =
value; }
        }
        private 
String safeFileName;
        public 
String SafeFileName
        {
            get { 
return safeFileName; }
            set { safeFileName =
value; }
        }
        private void 
OKButton_Click(object sender, RoutedEventArgs 
e)
        {
            this.DialogResult =
true;
        }
        private void 
CancelButton_Click(object sender, 
RoutedEventArgs e)
        {
            this.DialogResult =
false;
        }
        private void 
BrowseButton_Click(object sender, 
RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new 
OpenFileDialog();
            if (openFileDialog.ShowDialog() ==
true)
            {
                this.FileTextBox.Text = 
openFileDialog.File.Name;
                this.safeFileName = 
openFileDialog.File.Name;
                this.FileTextBox.IsReadOnly =
true;
                FileStream myStream = openFileDialog.File.OpenRead();
                this.documentStream = myStream;
            }
        }
    }
}
Step 12 : Now right click on client->Add 
references.
![image11.png]()
Step 13 : Select 
System.Windows.Controls->Ok.
![image12.png]()
Step 14 : Run application (Press 
F5)->Click on ImportAFile button.
![image13.png]()
Step 15 : Now you will browse a file 
from system drive then Ok.
![image14.png]()