visual-studioxamlcomputer-sciencefolding

How can I fold .cs files inside .xaml files in Visual Studio 2010?


How can I put my ViewModel file (a .cs file) folded inside its corresponded View file (a .xaml file) file like in the image?

enter image description here


Solution

  • I don't know of a way to do it in visual studio, but you can edit your .csproj file in a text editor. You should find something like this:

    <Page Include="MainWindow.xaml">
      <Generator>MSBuild:Compile</Generator>
      <SubType>Designer</SubType>
    </Page>
    <Compile Include="MainWindow.xaml.cs">
      <DependentUpon>MainWindow.xaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    

    The two tags might not be right next to each other in your file. The important part is the <DependantUpon> tag.

    In your file, find the tag with the include="ViewModel.cs" attribute. Inside of this tag, add <DependantUpon>View.xaml</DependantUpon> as a child element. Now your ViewModel.cs file will always be a inside the View.xaml file. In the end, your file should have these something similar to this snippet:

    <Page Include="View.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    <Compile Include="ViewModel.cs">
      <DependentUpon>View.xaml</DependentUpon>
    </Compile>