WPF ComboBox绑定不可更改

时间:2009-03-10 19:12:45

标签: wpf xaml combobox

我正在尝试将ComboBox绑定到来自对象的数据。该对象包含一个允许状态的列表和一个表示其当前值的字符串。我遇到的问题是,当表单加载时,它正确地将组合框的值设置为其当前值,但我无法将值更改为其他任何值。如果我单击下拉列表并选择一个新值,它将关闭下拉列表但保留原始值。

组合框在DataGrid中各占一行,ComboBox包含在DataGrid的RowDetailsTemplate中。

XAML:

<ComboBox
   x:Name="cmbStatus"
   ItemsSource="{Binding Path=AllowedStateValues}"
   SelectedItem="{Binding Path=State}"    
   Height="20"
   Width="100" />

3 个答案:

答案 0 :(得分:1)

尝试将模式绑定到 TwoWay 。如果这不起作用,请使用 PresentationTraceSources.TraceLevel 属性 High ,以获取完整的详细信息。

答案 1 :(得分:0)

州宣告:

private string _state;
    public string State { 
        get { return _state; }
        set
        {
            if (AllowedStateValues != null && AllowedStateValues.Contains(value))
            {
                _state = value;

            }
        }

    }

我在更改时没有引发事件但是当你更改组合框时它似乎也没有调用setter

答案 2 :(得分:0)

我遇到了同样的问题。事实证明我的问题在于我的Equals覆盖被绑定的项目。检查并确保不会将多个不相等的对象进行比较。