Ignite UI for Blazor が提供するツリーグリッドコンポーネント、IgbTreeGrid には、下図のように、各行の展開状態を示す「展開インジケーター」がアイコン表示されています。

この展開インジケーターに表示される要素は、以下のように JavaScript プログラムを組み合わせることでカスタマイズできます。
まずは以下の例のような JavaScript プログラムを記述し、ファイル (.js) に保存、その JavaScript ファイルを、wwwroot/index.html などのフォールバックページから script 要素で読み込んでおきます。
(() => {
// アイコン表示要素を組み立てて返す関数です。
// 引数に、アイコン名を取ります。
const createIconElement = (iconName) => {
const div = document.createElement("igx-icon");
div.classList.add("material-icons");
div.classList.add("igx-icon");
div.textContent = iconName;
div.style.pointerEvents = "none";
return div;
}
// 折り畳まれている行に表示するアイコン要素を返す関数を、
// "rowCollapsedIndicator" という名前で Ignite UI for Blazor に登録します。
igRegisterScript("rowCollapsedIndicator",
() => createIconElement("add_circle"), false);
// 展開されている行に表示するアイコン要素を返す関数を、
// "rowExpandedIndicator" という名前で Ignite UI for Blazor に登録します。
igRegisterScript("rowExpandedIndicator",
() => createIconElement("do_not_disturb_on"), false);
})();
その上で、上記 JavaScript で登録しておいた展開インジケーター表示要素を返す各スクリプトのスクリプト名を、IgbTreeGrid の RowCollapsedIndicatorTemplateScript および RowExpandedIndicatorTemplateScript パラメーターに指定します (下記はその例)。
... <IgbTreeGrid ... RowCollapsedIndicatorTemplateScript="rowCollapsedIndicator" RowExpandedIndicatorTemplateScript="rowExpandedIndicator"> ... </IgbTreeGrid>
以上の実装を施すことで、展開インジケーターを描画する際には、こうして登録しておいた JavaScript プログラムが呼び出され、その JavaScript プログラムによって構築・返された要素が展開インジケーターとして表示されるようになります (下図は上記実装例を実行した様子)。

なお、登録したスクリプトでは、上記例にあるような igx-icon 要素に限らず、要件にあわせて任意の要素を構築して返すことができます。ただし、展開インジケーターのクリックによる開閉動作を阻止しないよう、このカスタマイズ用のスクリプトから返す要素では、pointer-events CSS プロパティを “none” に設定する必要があります。
実際の動作サンプルはこちらで確認できます。