我正在尝试弄清楚如何在 MauiBlazor 项目中共享 Maui 和 Blazor 之间的服务。目标是能够使用相同的单例,而无需在某处存储这些单例的静态实例。
我想强制使用 MAUI Windows 应用程序的主题,例如用于屏幕截图。和Elements 不支持可与 WinUIShell一起使用的属性。ApplicationRequestedTheme
我在 Resources/Raw 中创建了一个 json 文件,并对 MauiAsset 进行了构建生成操作。我使用以下代码加载 json 文件,但出现未找到文件异常。
public partial class MainPage : ContentPage
{
int count = 0;
public MainPage()
{
InitializeComponent();
var json = LoadMauiAsset();
}
async Task LoadMauiAsset()
{
try
{
using var stream = await FileSystem.OpenAppPackageFileAsync("drugs.json");
using var reader = new StreamReader(stream);
var contents = reader.ReadToEnd();
}
catch (Exception ex)
{
}
}
}```
Run Code Online (Sandbox Code Playgroud) 使用 CSS,您可以设置border-left-width、border-right-width等来获取边框的单独宽度。
.NET MAUI 中是否可以实现同等功能?如果可以,您是如何做到的?
我知道该Border元素,但它只有一个StrokeWidth.
我正在学习了解 .NET MAUI 的 XAML 中的绑定机制如何工作。我假设这对于所有 XAML 项目、WPF、MAUI 等都是相同的。
\n最后是整个 XAML。
\n这个 XAML 工作正常:
\n<Button WidthRequest="150" Text="Add Activity" \n Command="{Binding AddActivityEntityCommand}"\n IsEnabled="{Binding IsNotBusy}"\n Grid.Row="2"\n Margin="8"/>\nRun Code Online (Sandbox Code Playgroud)\n这是因为 Button 是 ContentPage 的一部分,它被x:DataType设置为MainPageViewModel,这是命令所在的位置吗?
Binding 设置为AddActivityEntityCommand,而实际方法签名为\n async Task AddActivityEntityAsync()。这是如何解决的?因为它显然与名称不匹配,但它有效。其工作/被认可的方法签名要求是什么?
另一方面,这并不像开箱即用那么简单:
\n<Label HorizontalOptions="End" TextColor="Red" Padding="0,0,10,0" Text="" \n IsVisible="{Binding IsSynchronized}">\n <Label.GestureRecognizers>\n <TapGestureRecognizer \n Command="{Binding Source={x:Type viewmodel:MainPageViewModel},\n Path=DeleteActivityCommand}" />\n </Label.GestureRecognizers>\n </Label>\nRun Code Online (Sandbox Code Playgroud)\nCommand="{Binding DeleteActivityCommand}不起作用,因为<DataTemplate x:DataType="model:ActivityEntity"> …我在旧版本中看到了这个问题的各种答案,但不确定如何转换为 MAUI。问题是,是否有一种方法可以通过 Entry 控件的 Text Completed 事件最小化设备上的软键盘?
我希望用户能够自动登录我的 .NET MAUI 应用程序。
我已经完成了登录系统,但我不知道如何在关闭应用程序后使登录保持不变。
这是到目前为止我的登录系统。
public partial class Login
{
// User credentials
string username;
string password;
// Try verification
public async Task LoginVerification()
{
// Check if credentials are valid in the database.
bool isValid = await CheckIfValid(username, password);
if (isValid)
{
Debug.WriteLine("User Was Found");
// Do stuff after succesful login.
}
else
{
Debug.WriteLine("User Not Found");
// Do stuff after unsuccesful login.
}
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能让他们下次启动应用程序时不必输入凭据?
我正在开发一个自我管理应用程序,我需要实现一个不活动计时器或类似的东西来了解用户是否空闲(在 x 时间内不与视图交互),因此当发生这种情况时,它会返回主页。
这可能吗?已检查应用程序生命周期文档,但没有找到任何相关信息。
我正在考虑为每个视图制作一个计时器,当时间到来时 x 重定向,但它似乎不太理想。有没有办法将其直接集成到应用程序中,或者我真的必须为每个视图设置一个计时器吗?
抱歉,如果我的问题不清楚。请询问,如果没有意义我可以更新。
我认为这个问题是不言自明的。
MAUI 是跨平台 UI 框架 Xamarin.Forms 的演变。
Blazor 是 MS 的新前端 C# 框架。
然而,MAUI Blazor,我不清楚。
我怀疑它是以下之一:
那么混合 maui/blazor 应用程序到底有什么用呢?他们可以让您做哪些仅使用 MAUI 或 Blazor 无法完成的事情?