You can achieve that with MonoGame, here's a small example of a WPF application reading the value of the left thumb stick.

<Window x:Class="GamePadTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock x:Name="TextBlock1"></TextBlock>
</Grid>
</Window>
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input;
namespace GamePadTest
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
CompositionTarget.Rendering += CompositionTarget_Rendering;
}
private void CompositionTarget_Rendering(object sender, EventArgs e)
{
var gamePadState = GamePad.GetState(PlayerIndex.One);
TextBlock1.Text = gamePadState.ThumbSticks.Left.ToString();
}
}
}
How did I do that ?
- Installed MonoGame : https://monogame.codeplex.com/
- Created a new WPF project and referenced "C:\Program Files (x86)\MonoGame\v3.0\Assemblies\Windows8\MonoGame.Framework.dll"
Do not forget to copy SDL.DLL to your bin\Debug, grab it here: http://www.libsdl.org/release/SDL-1.2.15-win32.zip
(done under Windows 8 x64 + Visual Studio 2012)