要重新绘制Avalonia中的ItemsRepeater/Control,可以使用Control.InvalidateVisual方法来强制控件进行重绘。这个方法将触发控件的Render方法,之后将使用控件的视觉状态重新绘制控件。
以下代码示例展示如何重新绘制一个ItemsRepeater:
using Avalonia.Controls;
using System;
// ...
// 获取ItemsRepeater的引用
var repeater = this.FindControl("MyRepeater");
// 订阅某些事件,如按钮点击事件等
void OnButtonClick(object sender, RoutedEventArgs e)
{
// 进行重绘
repeater.InvalidateVisual();
}
类似地,要重新绘制一个Control,可以使用相同的方法。假设我们有一个叫做"myControl"的自定义控件,可以像下面这样进行重绘:
using Avalonia.Controls;
using System;
// ...
// 获取"myControl"控件的引用
var myControl = this.FindControl("MyControl");
// 订阅某些事件,如按钮点击事件等
void OnButtonClick(object sender, RoutedEventArgs e)
{
// 进行重绘
myControl.InvalidateVisual();
}