Tooltips exist outside the visual tree, so can't reference other controls by name. All that a tooltip knows about is its own PlacementTarget – the UIElement that it is displayed against.
One way to allow the tooltip to reference other controls is to hijack some otherwise unused property of this placement target control (Tag is most often suitable), which can then be referenced by the tooltip.
<TextBox x:Name="txb2" Text="Hello Stackoverflow" Width="200" />
<TextBox Grid.Row="1" Tag="{Binding ElementName=txb2}" Width="200">
<TextBox.ToolTip>
<ToolTip DataContext="{Binding PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
<TextBlock>
<Run Text="{Binding Text}" FontWeight="Bold" />
</TextBlock>
</ToolTip>
</TextBox.ToolTip>
</TextBox>
if you're using the MVVM design pattern, an alternative method (that doesn't require property hijacking) is to bind to the PlacementTarget's DataContext (usually the ViewModel). You can then bind the tooltip's content to whatever property of that you like.
<ToolTip DataContext="{Binding PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}">
....