プロジェクトに WPF と MVVM を使用していますが、次の問題があります。Password DataGrid セルをダブルクリックして別のセルにフォーカスすると、CellTemplate の PasswordBox が空になります。一方、TextBox はその値を保持します。(これは、タブを使用する場合には発生しません。)
私のセルのXAMLコードは次のとおりです。
<DataGridTemplateColumn Header="Password">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<PasswordBox VerticalContentAlignment="Center"
Focusable="False" IsEnabled="False"
basics:PasswordBoxAssistant.BindPassword="True"
basics:PasswordBoxAssistant.BoundPassword="{Binding Path=Password, Mode=OneWay, ValidatesOnNotifyDataErrors=True}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox VerticalContentAlignment="Center"
Text="{Binding Path=Password, ValidatesOnNotifyDataErrors=True, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
PasswordBox にバインディングを使用したいので、ここで定義されているように PasswordHelper を使用しました: http://blog.functionalfun.net/2008/06/wpf-passwordbox-and-data-binding.html
私はWPFにかなり慣れていないので、オンラインで役立つものを見つけることができませんでした.
編集
PasswordBox を TextBox に変更し、コンバーターを使用して String をパスワードのように変更しました。今では正常に動作し、見たいように見えます! (そして、それも簡単です。私が使用したヘルパーと組み合わせた PasswordBox は、少しバグがあるようです。)