【发布时间】:2020-07-02 20:24:59
【问题描述】:
我正在开发一个包含 GTK 构建的 Xamarin 项目。我正在尝试为许多控件创建自定义渲染器,但在查找、访问和更改控件的属性时遇到了麻烦。例如,我想将 SearchBar 控件的“放大镜”图标替换为更类似于 Android 平台上的默认图标。
我已经创建了自定义渲染器:
namespace MyProject.GTK.CustomRenderers
{
public class CustomSearchBarRenderer : Xamarin.Forms.Platform.GTK.Renderers.SearchBarRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
{
base.OnElementChanged(e);
var searchBar = Control;
// How do I replace the image?
}
}
}
但是从那里我不知所措,因为几乎没有关于 GTK 的自定义渲染器的资源。我尝试查看 GTK.Renderers.SearchBarRenderer 以查看其派生的类是否包含任何有用的属性或方法,并尝试在 GTK 文档和 Xamarin.Forms.GTK 包的存储库中找到有意义的内容,无济于事。我只是不确定如何理解此版本中控件的内部工作原理,所以我什至无法弄清楚我应该寻找什么。对此或任何 GTK 特定自定义渲染器工作的任何指针或资源将不胜感激。
【问题讨论】:
标签: xamarin xamarin.forms gtk custom-renderer