-1

嗨,我需要缩小搜索字符串的范围,以允许用户在搜索末尾放置一些标志,例如“/A”或“/W”。这是 wpf 和 MVVM。我试图把它放在属性中,但它看起来不起作用。如果我不能把它放在财产中,我应该把它放在哪里。

    public NavDataType Type
    {

        get
        {
            return _type;
        }
        set
        {
            if (_type.ToString().Substring(_type.ToString().Length - 2, 2) == "/A")
                _type = NavDataType.Airport;
            if (_type.ToString().Substring(_type.ToString().Length - 2, 2) == "/W")
                _type = NavDataType.Waypoint;
            if (_type.ToString().Substring(_type.ToString().Length - 2, 2) == "/N")
                _type = NavDataType.Navaid;
            SetProperty(ref _type, value, "Type");

        }
    }
4

1 回答 1

0
        if (_type.ToString().Substring(_type.ToString().Length - 2, 2) == "/N")
            _type = NavDataType.Navaid;
        SetProperty(ref _type, value, "Type");

问题是您_type在 if 语句中进行设置(工作正确),但随后SetProperty调用将用传入时的任何内容覆盖它。value

于 2013-09-23T19:39:44.017 回答