Как настроить свойства зависимостей с помощью Xamarin.Mac?

У меня есть следующий объект с несколькими свойствами:

public class Test : NSObject
{
    [Export("formattedFoo")]
    public string FormattedFoo { get { return string.Format("Test {0}", Foo); } }

    [Export("foo")]
    public string Foo { get; set; }
}

В Interface Builder у меня есть текстовое поле, привязанное к foo, и метка, привязанная к formattedFoo. Всякий раз, когда пользователь вводит текст в текстовое поле, свойство Foo обновляется, как и предполагалось. Однако метка не обновляется.

Я подозреваю, что мне нужно что-то реализовать, чтобы передать отношения зависимости между foo и formattedFoo в Cocoa, но я не уверен, что именно.

Прежде чем кто-либо предложит мне использовать выражение форматирования в IB, это не совсем вариант, поскольку приведенное выше является чрезвычайно упрощенным примером реального сценария.


person Michael Teper    schedule 10.07.2014    source источник


Ответы (1)


Разобрался, вот соответствующие ресурсы:

Код необходимо расширить с помощью следующего метода:

[Export("keyPathsForValuesAffectingFormattedFoo")]
public static NSSet GetDependenciesForFormattedFoo()
{
     return new NSSet("foo");
}

По сути, у вас должен быть метод public static, имя которого начинается с «keyPathsForValuesAffecting» и заканчивается именем свойства, имеющего зависимости.

person Michael Teper    schedule 10.07.2014