Combobox绑定到Object属性不会更新绑定到其他对象属性的文本框

时间:2012-03-14 09:03:34

标签: wpf data-binding combobox textbox

我将combobox选中的项目绑定到某个对象属性,我有另一个绑定到文本框的对象属性,当我选择组合框项目时,他的绑定对象属性更新对象属性绑定到文本框。 问题是如果我在组合框中选择了相同项目的两倍,文本框只会更新,第一个组合框选择不更改文本框。

这里是ViewModel:

public object Caption
    {
        get 
        {

                return TemplateEl.Caption; 
        }
        set 
        {
                TemplateEl.Caption = ((TemplateField)value).FieldCaption;
                FieldName = ((TemplateField)value).FieldName;
                RaisePropertyChanged("Caption");
        }
    }

    public string FieldName
    {
        get { return TemplateEl.FieldName; }
        set 
        {
            TemplateEl.FieldName = value;
            RaisePropertyChanged("FieldName");
        }
    }

这里TextBox的xaml绑定到FiledName属性:

<dxg:GridColumn FieldName="FieldName" Header="Field Name" HorizontalHeaderContentAlignment="Center" Name="gridColumnFieldName">
                        <dxg:GridColumn.CellTemplate>
                            <DataTemplate>
                                <editors:TextEdit Name="txtEditFieldName" Margin="5,0,0,0" VerticalAlignment="Center" IsReadOnly="{Binding 
                                    Path=Data.IsFieldNameReadOnly,Mode=OneWay}" Text="{Binding Path=Data.FieldName,Mode=TwoWay,
                                    UpdateSourceTrigger=PropertyChanged}"/>
                            </DataTemplate>
                        </dxg:GridColumn.CellTemplate>
                    </dxg:GridColumn>

我有绑定到Caption属性的ComboBox,当我从ComboBox中选择项目时,Caption更改FieldName值但绑定到FiledName的TextBox不更新。 但是,如果我第二次在ComboBox中选择相同的项目,则从FiledName属性更新TextBox。

更新 找到解决方案,在新版本的devexpress(v2011 vol 2.8)中,我需要将GridControl属性AllowLiveDataShaping设置为true。

0 个答案:

没有答案