Mvvm 无法从主视图绑定UserControl

Mvvm 无法从主视图绑定UserControl,mvvm,silverlight-4.0,user-controls,prism-4,Mvvm,Silverlight 4.0,User Controls,Prism 4,我已经创建了包含TextBox和PasswordBox的用户控件。 RestrictedBox.xaml <UserControl.Resources> <Converters:BoolToVisibilityConverter x:Key="boolToVisConverter" /> <Converters:BoolToVisibilityConverter x:Key="boolToVisConverterReverse" /&

我已经创建了包含TextBox和PasswordBox的用户控件。 RestrictedBox.xaml

<UserControl.Resources>
        <Converters:BoolToVisibilityConverter x:Key="boolToVisConverter" />
        <Converters:BoolToVisibilityConverter x:Key="boolToVisConverterReverse" />
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="White" Width="Auto">
        <StackPanel Margin="5,5,5,5">
            <TextBox Text="{Binding TextValue}" Visibility="{Binding IsTextBox,Converter={StaticResource boolToVisConverter}}" BorderBrush="Green" />
            <PasswordBox Password="{Binding TextValue}" Visibility="{Binding IsTextBox,Converter={StaticResource boolToVisConverterReverse}}" BorderBrush="Red" />
        </StackPanel>
    </Grid>
现在,我将上述用户控件添加到我的LoginView.xaml页面中

<control:RestrictedBox TextValue="Imdadhusen" IsTextBox="True"   />

现在我运行应用程序,但TextValue=“Imdadhusen”未与我的文本框绑定,第二个属性IsTextBox设置为True,这意味着它将自动隐藏Passwordbox else文本框。

public RestrictedBox()
{
     InitializeComponent();
     this.DataContext = this;
}
任何帮助都将不胜感激

谢谢, Imdadhusen

用户控件不会自动注册为数据上下文,因此用户控件内的绑定不会有任何绑定

我在下面一行添加了UserControl codebehind以启用默认绑定。

public RestrictedBox()
{
     InitializeComponent();
     this.DataContext = this;
}
谢谢,
Imdadhusen

请设置您的DataContext,因为在用户控件中它不理解DataContext。 因此,请尝试在构造函数中使用此选项

 this.DataContext = this;
也许这对你有帮助