Как да настроите свойства на зависимост с 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