Ok first you need to configure SharePoint Foundation 2010 for your development machine so you can have the Silverlight 5 SharePoint Client Object Model you can find that here.
http://msdn.microsoft.com/en-us/library/ee554869.aspx
Next after you have completed that use the below link on how to use the Silverlight OM.
http://msdn.microsoft.com/en-us/library/ee538971.aspx
Below is sample code
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Net
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Shapes
Imports Microsoft.SharePoint.Client
Namespace Microsoft.SDK.SharePointServices.Samples
Partial Public Class MainPage
Inherits UserControl
Private oWebsite As Web
Private collList As ListCollection
Private listInfo As IEnumerable(Of List)
Public Sub New()
InitializeComponent()
End Sub
Private Sub Button_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim clientContext As ClientContext = ClientContext.Current
oWebsite = clientContext.Web
Dim collList As ListCollection = oWebsite.Lists
clientContext.Load(oWebsite, Function(website) website.Title)
listInfo = clientContext.LoadQuery(collList.Include(Function(list) list.Title, Function(list) list.Fields.Include(Function(field) field.Title).Where(Function(field) field.Required = True AndAlso field.Hidden <> True)))
clientContext.ExecuteQueryAsync(AddressOf onQuerySucceeded, AddressOf onQueryFailed)
End Sub
Private Sub onQuerySucceeded(ByVal sender As Object, ByVal args As ClientRequestSucceededEventArgs)
Dim updateUI As UpdateUIMethod = AddressOf DisplayInfo
Me.Dispatcher.BeginInvoke(updateUI)
End Sub
Private Sub onQueryFailed(ByVal sender As Object, ByVal args As ClientRequestFailedEventArgs)
MessageBox.Show = "Request failed. " & args.Message & vbLf & args.StackTrace
End Sub
Private Sub DisplayInfo()
MyOutput.Text = "Title: " & oWebsite.Title
collList = oWebsite.Lists
For Each oList As List In listInfo
MyOutput.Text += vbLf & vbTab & "List: " & oList.Title
Dim collField As FieldCollection = oList.Fields
For Each oField As Field In collField
MyOutput.Text += vbLf & vbTab & vbTab & "Field: " & oField.Title
Next oField
Next oList
End Sub
Private Delegate Sub UpdateUIMethod()
End Class
End Namespace
EDIT:
One more Important Detail about the ClientContext. If you use ClientContext.Current your silverlight application has to be ran within a silverlight web part to work. To access a specific site instantiate your context like below.
Private ReadOnly Property ClientCtxt As Microsoft.SharePoint.Client.ClientContext
Get
If clientContext Is Nothing Then
' clientContext = New ClientContext("http://1mem8400:25775/FTP/Engineering/NPI")
clientContext = Microsoft.SharePoint.Client.ClientContext.Current
End If
If clientContext Is Nothing Then
Throw New Exception("SharePoint Connection Failed")
End If
Return clientContext
End Get
End Property