Вы можете решить эту проблему с помощью конвертера, который проверяет, следует ли вам скрывать или показывать фактический текст.
Используя MultiValueConverter, мы можем передать как исходный текст, так и bool, который указывает, следует ли нам его скрывать или показывать. Тогда возвращаемое значение является либо фактическим текстом, либо скрытым: :
<Window.Resources>
<local:PasswordToHiddenCharactersConverter x:Key="PasswordToHiddenCharactersConverter" />
</Window.Resources>
<StackPanel>
<CheckBox x:Name="HidePasswordBox" Content="Hide Password" />
<TextBox >
<TextBox.Text>
<MultiBinding Converter="{StaticResource PasswordToHiddenCharactersConverter}" UpdateSourceTrigger="PropertyChanged">
<Binding Path="Password" />
<Binding ElementName="HidePasswordBox" Path="IsChecked" />
</MultiBinding>
</TextBox.Text>
</TextBox>
</StackPanel>
«Пароль» - это имя свойства в нашей ViewModel, для CheckBox мы можем напрямую связать его изнутри xaml без необходимости проходить через ViewModel
Рассмотрите использование горячей копии:
svnadmin hotcopy — Сделайте горячую копию репозитория...
Эта подкоманда делает полное “горячее” резервное копирование Вашего репозитория, включая все рычаги, конфигурационные файлы, и, конечно, файлы базы данных. Если Вы передаете
--clean-logs
переключатель,svnadmin
выполнит hotcopy Вашего репозитория и затем удалит неиспользованный Беркли журналы DB из исходного репозитория. Можно выполнить эту команду в любое время и сделать безопасную копию репозитория, независимо от того, используют ли другие процессы репозиторий...
AFAIK это безопасно, но почему бы не экспорт для резервного копирования?
Можно быть в безопасности, но только потому, что Вы знаете, что никто не получает доступ к репозиторию на Вашем ноутбуке. Однако svn (svnadmin) предоставляет горячую копию и команды дампа, которые столь же легко выполнить как Ваша команда копии, и они "гарантируются безопасные".
Вы не должны подвергаться риску повреждать основной репозиторий, просто делающий копию. Однако копия могла быть повреждена, если что-то заблокировано во время копии.
Вы могли использовать приложение, такое как SyncBackSE, который может запланировать резервное копирование и использует теневую копию в случае блокировки.
Вы записали:
Прямо сейчас мой репозиторий SVN находится на жестком диске моего ноутбука, и я просто копирую каталог еженедельно
Вопрос для Вас: почему?
Находятся в опасности я для повреждения моего репозитория SVN?
Нисколько, если Ваша копия не просто что: копия. Если Ваша "копия" открывает некоторый файл, заблокированный для записи, что Вы могли бы находиться в опасности (Вы сказали в комментарии это что-то, что похоже на Вас, находятся под окнами, и это могло бы произойти на окнах) - если существует другой процесс, пытающийся записать что-то в repos одновременно.
До сих пор у меня не было проблем с оригиналом или копией, но это не означает, что я не нахожусь в опасности в будущем.
Основное назначение: Вы копируете для цели резервирования? Если так, копия это могло бы быть бесполезно (в зависимости от деталей процесса восстановления). См.: http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate
Так наконец: используйте дамп svnadmin
Я раньше использовал диск флэш-памяти и просто создал основанный на файле repo на нем. Единственные недостатки (помимо упущения его!) был диск флэш-памяти, должен был иметь ту же букву диска в каждом ПК и скорость, было похоже на медленное соединение с интернетом.
Еще, это работало просто великолепно.