我的XAML代码中定义了以下 TextBox :
<TextBox Name="LicenseKey"
Style="{StaticResource LicenseKeyInvalidStyle}"
Width="150"
Text="{Binding LicenseKey, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="False" />
在我的ViewModel中,我有以下属性 TextBox 绑定到:
/// <summary>
/// The License key for this product
/// </summary>
public string LicenseKey
{
get { return _LicenseKey; }
set
{
if (_LicenseKey != value)
{
_LicenseKey = value;
NotifyPropertyChanged(m => m.LicenseKey);
}
}
}
private String _LicenseKey;
我提供了一个“粘贴许可密钥”按钮,它会将剪贴板上的内容粘贴到LicenseKey属性中。
public void PasteLicenseKeyButtonClicked(object sender, RoutedEventArgs e)
{
if (Clipboard.ContainsText())
{
LicenseKey = Clipboard.GetText().Trim();
}
}
如果我在 TextBox 上键入或使用CTRL + V来更改Text值,则会正确更新该属性,并且更改会显示在 TextBox 中。如果我使用“粘贴许可密钥”按钮,则会更新LicenseKey
属性,但不会在TextBox字段中修改新值。
当通过视图模型更新'LicenseKey'时,如何更新TextBox.Text值?