我有一个运行在。net 6上的blazor wasm应用程序,它支持本地化,但我无法找到一种方法来改变基于所选文化的布局方向。我试图检测所选文化的方向,并改变html
标签的dir
,但问题是主要布局代码在index.html
文件中,不支持razor语法。
有解决这个问题的办法吗?
一直在等待Blazor Repl起死回生…
这是c#
的修改方法@inject IJSRuntime JS
<h1>Change Direction</h1>
<button @onclick=SetRTL>
RTL
</button>
<button @onclick=SetLTR>
LTR
</button>
@code
{
void SetDIR(string direction)
{
if (JS is IJSInProcessRuntime sr)
sr.InvokeVoid("document.body.setAttribute","dir",direction);
else
JS.InvokeVoidAsync("document.body.setAttribute","dir",direction);
}
void SetRTL() => SetDIR("rtl");
void SetLTR() => SetDIR("ltr");
}
演示:https://blazorrepl.telerik.com/wQaJQrPT36Da5Urf52