title: DirectX from C#
body: <p>I'm looking into various options for using DirectX in C#; ideally I want to use whatever technology is preferred by Microsoft.</p>
  
  <p><strong>Non-Microsoft Technologies:</strong></p>
  
  <ul>
  <li><a href="http://sharpdx.org/">SharpDX</a></li>
  <li><a href="http://slimdx.org/">Slim DX</a></li>
  <li><a href="https://direct2dsharp.codeplex.com/">Direct2D Manager Wrapper</a></li>
  </ul>
  
  <p><strong>Microsoft Technologies:</strong></p>
  
  <ul>
  <li><a href="http://msdn.microsoft.com/en-us/library/ms754130%28v=vs.110%29.aspx">WPF</a></li>
  <li><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb318658%28v=vs.85%29.aspx">DirectX 9.0 for managed code (deprecated)</a></li>
  <li><a href="http://www.microsoft.com/en-gb/download/details.aspx?id=20914">XNA Framework (deprecated)</a></li>
  </ul>
  
  <p><strong>Rationale behind the technology I want to use:</strong></p>
  
  <ul>
  <li>I want a code-first framework (as opposed to writing XAML in WPF)</li>
  <li>I want (ideally) a Microsoft supported framework that isn't deprecated</li>
  <li>I want to build applications that don't over-rely on 3rd party dependencies (i.e. If I was to build an application with WPF, the framework will likely already be installed on the users machine as part of the .NET framework)</li>
  </ul>
  
  <p><strong>Questions:</strong></p>
  
  <ul>
  <li>What is Microsoft's prefered method for writing DirectX exabled applications (aside from WPF)?</li>
  <li>What dangers are there in using deprecated technologies (MDX, XNA)?</li>
  <li>What is the most popular non-Microsoft DirectX technology that can be used from C#?</li>
  </ul>