MAUI: Команды в CollectionView DataTemplate не стреляете после установки BindingContext в представлении ребенкаC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 MAUI: Команды в CollectionView DataTemplate не стреляете после установки BindingContext в представлении ребенка

Сообщение Anonymous »

У меня есть страница Maui на основе оболочки (CategorioryPage), на которой находится многократно используемый представление (CategoriesView), содержащая коллекцию. В Onpapering я установил только BindingContext только на категории, но моя кнопка скрыть/шоу в DataTemplate никогда не получает правильную категорию, а команда никогда не сжигает. Поскольку я установил BindingContext только на родительских категориях, проведенных , я предположил, что привязки в представлениях ребенка все равно будут регулироваться должным образом. Тем не менее, команда никогда не стреляет, и параметр кажется нулевым или неверным. < /P>
ниже мой вид < /p>


























< /code>
c# код для просмотра < /p>
namespace MoneyManager.UI.Views.Categories;

public partial class CategoriesView : ContentView
{
public CategoriesView()
{
InitializeComponent();
}

}
< /code>
Страница для просмотра < /p>







< /code>
код за страницей < /p>
using MoneyManager.UI.ViewModels.Categories;

namespace MoneyManager.UI.Pages.Categories;

[QueryProperty(nameof(CategoryType), "type")]
public partial class CategoriesPage : ContentPage
{
public string? CategoryType { get; set; }

public CategoriesPage()
{
InitializeComponent();

}

protected override void OnAppearing()
{
base.OnAppearing();

var vm = new CategoriesViewModel;

CategoriesView.BindingContext = vm;
}
}
< /code>
viewmodel < /p>
public IRelayCommand ToggleHidden { get; }

public CategoriesViewModel()
{
ToggleHidden = new RelayCommand(execute: ToggleHiding);
}

public void ToggleHiding(CategoryDto? category)
{
if (category is null)
{
return;
}

var newHiddenState = !category.IsHidden;

category.IsHidden = newHiddenState;

if (newHiddenState)
{
AppPreferences.SetCategoryHidden(category.Id);
}
else
{
AppPreferences.ClearHiddenState(category.Id);
}

Debug.WriteLine("[Toggle]" + category.IsHidden);
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... -bindingco
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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