The AncestorLevel is use to find the correct ancestor to bind to, this is because there could be more than one ancestor of that type.
Here is a scenario that shows this:
<Grid Tag="AncestorLevel 3"> <Grid Tag="AncestorLevel 2"> <Grid Tag="AncestorLevel 1"> <StackPanel Tag="StackPanel Tag" Height="100" HorizontalAlignment="Left" Margin="156,97,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="200"> <Label Content="{Binding Path=Tag,RelativeSource={RelativeSource Mode=FindAncestor,AncestorLevel=1,AncestorType=Grid},FallbackValue=BindingFailed}" Height="28" /> <Label Content="{Binding Path=Tag,RelativeSource={RelativeSource Mode=FindAncestor,AncestorLevel=2,AncestorType=Grid},FallbackValue=BindingFailed}" Height="28" /> <Label Content="{Binding Path=Tag,RelativeSource={RelativeSource Mode=FindAncestor,AncestorLevel=3,AncestorType=Grid},FallbackValue=BindingFailed}" Height="28" /> </StackPanel> </Grid> </Grid> </Grid>
Result:

Alternative Method
But you can simplify the code by using ElementName binding, this uses the Name of the element
Example:
<Window x:Class="WpfApplication9.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" Name="MyWindow" Tag="This is the window"> <Grid Name="Grid1" Tag="First grid"> <Grid Name="Grid2" Tag="Second grid"> <Grid Name="Grid3" Tag="ThirdGrid"> <StackPanel Name="stackPanel1" Tag="StackPanel Tag" Height="160" HorizontalAlignment="Left" Margin="156,97,0,0" VerticalAlignment="Top" Width="200"> <Label Content="{Binding ElementName=MyWindow, Path=Tag}" Height="28" /> <Label Content="{Binding ElementName=Grid1, Path=Tag}" Height="28" /> <Label Content="{Binding ElementName=Grid2, Path=Tag}" Height="28" /> <Label Content="{Binding ElementName=Grid3, Path=Tag}" Height="28" /> <Label Content="{Binding ElementName=stackPanel1, Path=Tag}" Height="28" /> </StackPanel> </Grid> </Grid> </Grid> </Window>
Result:

If you want to bind back to the Window you can still use FindAncestor
<Window x:Class="WpfApplication9.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" Tag="This is the window"> <Grid> <StackPanel Height="100" HorizontalAlignment="Left" Margin="156,97,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="200"> <Label Content="{Binding Path=Tag,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Window},FallbackValue=BindingFailed}" Height="28" /> </StackPanel> </Grid>
Result:
