Hi,
if you don't use static properties you can use StaticResource like in following demo with your code:
XAML:
<Window x:Class="Window075"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
xmlns:vmns="clr-namespace:WpfApp1.WpfApp075"
mc:Ignorable="d"
Title="Window075" Height="450" Width="800">
<Window.Resources>
<vmns:ViewModel x:Key="vm"/>
<Style x:Key="DefaultStyle"/>
</Window.Resources>
<Grid DataContext="{StaticResource vm}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<DataGrid
AutoGenerateColumns="False"
ItemsSource="{Binding SiteModels}"
Style="{StaticResource DefaultStyle}">
<DataGrid.Columns>
<DataGridTextColumn
Binding="{Binding Label}"
Header="Site Model"
IsReadOnly="True" />
<DataGridTextColumn
Binding="{Binding Number}"
Header="# Parts"
IsReadOnly="True" />
<DataGridComboBoxColumn
Width="*"
DisplayMemberPath="Label"
Header="Pro Model"
ItemsSource="{Binding ProModels, Source={StaticResource vm}}"
SelectedValuePath="ID"
SelectedValueBinding="{Binding FK}"/>
</DataGrid.Columns>
</DataGrid>
<ComboBox
x:Name="Populated"
Grid.Row="1"
DisplayMemberPath="Label"
ItemsSource="{Binding ProModels}" />
</Grid>
</Grid>
</Window>
and classes see attached txt: 63073-x.txt