Как использовать сложные / вложенные привязки с типичной связью в Maui C# Markup?C#

Место общения программистов C#
Ответить
Anonymous
 Как использовать сложные / вложенные привязки с типичной связью в Maui C# Markup?

Сообщение Anonymous »

Я использую TypedBindings в communitytoolkit.maui.markup , и мое привязка не работает, как и ожидалось, когда привязан к собственности, вложенному внутри другого объекта.
Пример кода ниже, текст метки обновляется с использованием метода «старого» привязки, который использует отражение: < /p>
.Bind(Label.TextProperty, path: "NestedObject.Test")
< /code>
Но текст метки не обновляется при использовании typedbindings (без отражения): < /p>
.Bind(Label.TextProperty,
static (TestModel myModel) => myModel.NestedObject.Test)
< /code>
code < /h2>
class TestView : ContentPage
{
TestModel model;

public TestView()
{
model = new TestModel();
BindingContext = model;

Content = new Grid
{
Children =
{
new VerticalStackLayout
{
new Label
{

}.Bind(Label.TextProperty, path: "NestedObject.Test"),

new Label
{

}.Bind(Label.TextProperty,
static (TestModel myModel) => myModel.NestedObject.Test,

new Entry
{

}.Bind(Entry.TextProperty,
static (TestModel model) => model.NestedObject.Test
static (TestModel model, string value) => model.NestedObject.Test = value),

}
}
};
}
}

partial class TestModel : ObservableObject
{
[ObservableProperty]
NestedObject nestedObject = new();
[ObservableProperty]
NestedObject? nestedObject2;
[ObservableProperty]
string title = "My Title";
}

partial class NestedObject : ObservableObject
{
[ObservableProperty]
string test = "Initial";
}


Подробнее здесь: https://stackoverflow.com/questions/775 ... sharp-mark
Ответить

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

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

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

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

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