WPF:TextBox.Text在更改源时未更新

时间:2014-08-13 19:58:06

标签: c# wpf data-binding textbox

我的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值?

0 个答案:

没有答案