Combobox文本属性twoway绑定不起作用

时间:2015-07-23 11:07:05

标签: c# wpf combobox

我有一个ComboBox如下

<ComboBox VerticalAlignment="Center"  
          Width="83.84"
          Canvas.Left="626.24"
          Canvas.Top="249.088" DataContext="{Binding Items[0]}"
          Text="{Binding TextVariable, Mode=TwoWay, NotifyOnValidationError=True, TargetNullValue='', ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" 
          Height="68.293" 
          Style="{StaticResource ComboBoxDialogControlQ69_74}" />

问题是:当我在视图模型中设置TextVariable的值时,它会在UI上显示。但是当我在UI上更改它时,它不会在属性中更新。

我想我错过了一些非常明显的东西,感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

当我尝试在ComboBox上进行文本绑定时,它的效果非常好,

Text="{Binding TextVariable, Mode=TwoWay, UpdateSourceTrigger=LostFocus, NotifyOnValidationError=True, TargetNullValue='', ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" 

我添加了一个属性以使其可编辑。

IsEditable="True"

如果您需要对PropertyChange进行更改,请将UpdateSourceTrigger更改为PropertyChanged

UpdateSourceTrigger=PropertyChanged

VM

 public string TextVariable {
        get 
        { return _TextVariable; }
        set 
        {
            _TextVariable = value; 
            NotifyPropertyChanged(); 
        } 
    }