I reference here, How to binding other element in ToolTip
You have not carefully read the topic you are referring to.
ToolTip, ContextMenu, Popup (and some other elements) pop up over the contents of the Window without changing it.
Think for yourself: How can you introduce new elements into a Window without changing the visual tree of this Window?
Answer: this cannot be done in any way.
Therefore, these pop-up elements are implemented as the contents of a new small Window shown above the main Window (the one in which they were called).
And since these are DIFFERENT Windows, they have different visual trees.
Therefore, it is impossible to find elements from the main Window in the tree of the Pop-up Window (Bindings of the ElementName and FindAncestor types).
You can use an element reference (Binding Sourse = {x: Reference ...}), since references are resolved at compile time and without regard to the visual tree.
Example:
<StackPanel Height="Auto" Margin="15,10,15,0" Width="74">
<Image Source="/Image/AutoCAD.png" Width="50"/>
<TextBlock x:Name="txtf1" Text="Border19072021 Border19072021"/>
<StackPanel.ToolTip>
<ToolTip>
<Label Content="{Binding Source={x:Reference txtf1}, Path=Text}"/>
</ToolTip>
</StackPanel.ToolTip>
</StackPanel>
In addition, the Popup's DataContext inherits from the element in which It is created.
In your case, this is from StackPanel.
Therefore, you can simply set the default Bindings to receive data.
Example:
<StackPanel Height="Auto" Margin="15,10,15,0" Width="74">
<Image Source="/Image/AutoCAD.png" Width="50"/>
<TextBlock x:Name="txtf1" Text="{Binding SomeViewModelProperty}"/>
<StackPanel.ToolTip>
<ToolTip>
<Label Content="{Binding SomeViewModelProperty}"/>
</ToolTip>
</StackPanel.ToolTip>
</StackPanel>
The PlacementTarget property is used to change the target element for the popup.
DataContext inherits from this element.
If it is not specified, the DataContext is inherited from the element in which the flyout is specified.
You don't specify it, so it is null, which is what your binding returns.
Example:
<StackPanel DataContext="{Binding Text, ElementName=txtf1}" Height="Auto" Margin="15,10,15,0" Width="74">
<Image Source="/Image/AutoCAD.png" Width="50"/>
<TextBlock x:Name="txtf1" Text="{Binding SomeViewModelProperty}"/>
<StackPanel.ToolTip>
<ToolTip PlacementTarget="{Binding ElementName=txtf1}"
DataContext="{Binding Path=PlacementTarget.DataContext,
RelativeSource={RelativeSource Self}}">
<Label Content="{Binding SomeViewModelProperty}"/>
</ToolTip>
</StackPanel.ToolTip>
</StackPanel>