I want to find the parent of usercontrol from Markup, I used the following code
var hostRoot = serviceProvider.GetService(typeof(IRootObjectProvider)) as IRootObjectProvider;
var host = hostRoot.RootObject;
var do = host as DependencyObject;
var uc = do as UserControl;
var ucParent = uc.Parent;
and
var wp = Window.GetWindow(uc);
But both return null
Update:
<Window x:Class="WpfApp12.MainWindow">
    <Grid>
       <local:UserControl1/>
    </Grid>
</Window>
and
<UserControl x:Class="WpfApp12.UserControl1">
    <StackPanel>
       
        <TextBlock Text="{me:myMarkup}"/>
    </StackPanel>
</UserControl>
Update 2:
this is my Markup
public class myMarkup : MarkupExtension
    {
        public override object ProvideValue(IServiceProvider serviceProvider)
        {
            var hostRoot = serviceProvider.GetService(typeof(IRootObjectProvider)) as IRootObjectProvider;
            var host = hostRoot.RootObject;
            var xv = host as DependencyObject;
            var ww = Window.GetWindow(xv);
            return null;
        }
    }
Update 3: sample project
https://github.com/ghost1372/HandyControls/files/6259944/WpfApp18.zip