主要问题是您在其构造函数中将UserControl的DataContext设置为其自身:
DataContext = this;
您不应该这样做,因为它会中断任何基于DataContext的绑定,例如,到继承的DataContext值中的视图模型实例的绑定。
相反,您可以像这样在UserControl的XAML中更改绑定:
<TextBox Text="{Binding SelectedFile, RelativeSource={RelativeSource AncestorType=UserControl}}" />现在,当您使用UserControl并编写类似
<userControls:FileBrowserControl SelectedFile="{Binding SelectedFile}" />SelectedFile属性绑定到视图模型中的SelectedFile属性,该属性应该在从父控件继承的DataContext中。



