Hi Ahmad,
First lets translate your need to a pattern:
Basically you need to change districts by the selected province => Master-Detail Pattern.
Province is the Master and the districts are the Details based on the Master.
So now we can see the we need Master-Detail Pattern.
But what is the best way to do that? Well I can see that you are using DataGrid and build your columns one by one... So lets think about it... Why shouldn't we build a simple Data-Template? And why should we use a DataGrid?
In my article:
How to: Use the Master-Detail Pattern with WPF Hierarchical DataTemplate
You can see that I don't need to use DataGrid for a grid-like UI structure. It's much more easy to use ItemsControl With Data-Template:
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" MinWidth="320">
<TextBlock Width="130" Text="{Binding Name}"/>
<ComboBox Width="130" ItemsSource="{Binding Employees}" SelectedIndex="{Binding EmployeesSelectedIndex}" />
<ComboBox Width="130" ItemsSource="{Binding Subordinates}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>