Как использовать собственное поведение в MAUIC#

Место общения программистов C#
Ответить
Anonymous
 Как использовать собственное поведение в MAUI

Сообщение Anonymous »

В моем проекте .NET 8 MAUI есть специальный компонент, который возвращает мою модель. Для этого компонента я создал собственное поведение — вот код:

Код: Выделить всё

public class IsLanguageNullOrEmptyBehavior : Behavior
{
static readonly BindablePropertyKey IsEmptyPropertyKey =
BindableProperty.CreateReadOnly("IsEmpty", typeof(bool),
typeof(IsLanguageNullOrEmptyBehavior), false);

public static readonly BindableProperty IsEmptyProperty =
IsEmptyPropertyKey.BindableProperty;

public bool IsEmpty
{
get { return (bool)GetValue(IsEmptyProperty); }
set { SetValue(IsEmptyProperty, value); }
}

protected override void OnAttachedTo(LanguageDropdown bindable)
{
base.OnAttachedTo(bindable);
bindable.SelectedItemChanged += Bindable_SelectedItemChanged;
}

protected override void OnDetachingFrom(LanguageDropdown bindable)
{
base.OnDetachingFrom(bindable);
bindable.SelectedItemChanged -= Bindable_SelectedItemChanged;
}

private void Bindable_SelectedItemChanged(object? sender, LanguageModel e)
{
if (e is null)
IsEmpty = true;
else
{
if (string.IsNullOrEmpty(e.LanguageName) ||
string.IsNullOrEmpty(e.Abbreviation))
IsEmpty = true;
else
IsEmpty = false;
}
}
}
Теперь в ContentView я хочу использовать это поведение для изменения цвета границы контроллера. Для этого я хочу проверить, имеет ли LanguageTarget значение.
Итак, я написал этот код: Проблема в том, что при изменении свойства IsEmpty цвет границы не меняется.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ur-in-maui
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»