Question

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

Was it helpful?

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>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top