双击后,CellTemplate中的PasswordBox变空

时间:2016-07-25 09:41:32

标签: wpf xaml mvvm datagrid passwordbox

我为项目使用WPF和MVVM并遇到以下问题:当我双击我的密码DataGrid单元格然后专注于另一个单元格时,CellTemplate中的PasswordBox变为空。另一方面,TextBox保持其价值。 (当我使用tab时,这不会发生。)

这是我单元格的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更改为密码。现在它工作正常,看起来我希望它看起来! (而且它也更容易。与我使用的Helper结合使用的PasswordBox似乎有点麻烦。)

0 个答案:

没有答案