Добавление флагов в контрол Представление.
Добавление флагов в контрол Представление.¶
В ячейку строки можно добавить флаг и задать действие при изменении его состояния. Рекомендуется добавлять флаги в пустую колонку.
using System.Threading.Tasks;
using Tessa.UI.Cards.Controls;
using Tessa.UI.Views.Content;
public sealed class ExampleUIExtension : CardUIExtension
{
public override async Task Initializing(ICardUIExtensionContext context)
{
var model = context.Model;
model.ControlInitializers.Add(async (control, m, r, ct) =>
{
if (control is CardViewControlViewModel viewControl)
{
if (viewControl.Name == "Алиас контрола представления")
{
viewControl.ModifyRowActions.Add(row =>
{
// начальное состояние флага
bool isSelected = false;
// признак того, что состояние флага нельзя изменять
bool isReadOnly = false;
var tag = new SelectorTagViewModel(
row,
isSelected,
isReadOnly,
SelectionChanged
);
var cell = row.CellsByColumnName["ColumnName"];
cell.LeftTags.Tags.Add(tag);
//cell.AddRightTag.Tags.Add(tag);
});
}
}
});
}
/// <summary>
/// Функция, выполняемая при изменении состояния флага.
/// </summary>
private void SelectionChanged(ViewControlRowViewModel row, bool selected)
{ }
}