Как я упоминал в своем комментарии, методы, которые вам нужно использовать:
// remove child from parent and add it to scene
THREE.SceneUtils.detach( child, parent, scene );
// remove child from scene and add it to parent
THREE.SceneUtils.attach( child, scene, parent );
Изучите исходный код attach()
и detach()
, чтобы вы понимали, что они делают.
three.js r.74
Не думайте, что это возможно с помощью PasswordBox ... просто мысль, но вы можете выполнить тот же результат, используя скрытый TextBox, и когда пользователь нажмет на CheckBox, вы просто скроете PasswordBox и покажете TextBox; если он снова щелкнет, вы снова переключите свое состояние видимости и так далее ...
Edit
И вот как это делается!
Просто добавьте страницу , измените ContentPanel на StackPanel и добавьте этот код XAML:
<PasswordBox x:Name="MyPasswordBox" Password="{Binding Text, Mode=TwoWay, ElementName=MyTextBox}"/>
<TextBox x:Name="MyTextBox" Text="{Binding Password, Mode=TwoWay, ElementName=MyPasswordBox}" Visibility="Collapsed" />
<CheckBox x:Name="ShowPasswordCharsCheckBox" Content="Show password" Checked="ShowPasswordCharsCheckBox_Checked" Unchecked="ShowPasswordCharsCheckBox_Unchecked" />
Далее, в коде страницы добавьте следующее:
private void ShowPasswordCharsCheckBox_Checked(object sender, RoutedEventArgs e)
{
MyPasswordBox.Visibility = System.Windows.Visibility.Collapsed;
MyTextBox.Visibility = System.Windows.Visibility.Visible;
MyTextBox.Focus();
}
private void ShowPasswordCharsCheckBox_Unchecked(object sender, RoutedEventArgs e)
{
MyPasswordBox.Visibility = System.Windows.Visibility.Visible;
MyTextBox.Visibility = System.Windows.Visibility.Collapsed;
MyPasswordBox.Focus();
}
Это отлично работает, но с еще несколько работ, вы можете сделать это полностью MVVM'ed!
Вы можете создать свой собственный элемент управления, который наследуется от текстового поля, но после каждого символа вы заменяете его символом *, сохраняя истинное значение в частной переменной на странице. Используя флажок, вы можете переключить, показывает ли значение в текстовом поле истинное значение или значение *.
Это не изящное решение, и это не лучшая практика, но я думаю, что это еще альтернатива, если вы готовы жить с ним.
с паролем по умолчанию, невозможно реализовать желаемую функцию.
дополнительную информацию вы можете найти здесь: http://social.msdn.microsoft.com/Forums/en/wpf / резьба / 98d0d4d4-1463-481f-b8b1-711119a6ba99