[英]Blazor equivalent of WPF ShowDialog()?
我正在尝试将一些代码从 WPF 迁移到 Blazor。 WPF 代码依赖 ShowDialog() 来显示模式对话框并暂停执行,直到模式关闭。 是否有(服务器端)Blazor 等效项允许 C# 控制流基于,例如,用户是否在模式对话框中单击了“确认”与“取消”?
您可以添加一个按钮
<button class="btn btn-primary"
@onclick="AddNewForecast">
Add New Forecast
</button>
这调用了一个将值设置为 true 的方法
bool ShowPopup = false;
void AddNewForecast()
{
// Open the Popup
ShowPopup = true;
}
该值包含在使用引导模式控件(class="modal")的代码周围:
@if (ShowPopup)
{
<!-- This is the popup to create or edit a forecast -->
<div class="modal" tabindex="-1" style="display:block" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">Edit Forecast</h3>
<!-- Button to close the popup -->
<button type="button" class="close"
@onclick="ClosePopup">
<span aria-hidden="true">X</span>
</button>
</div>
<!-- Edit form for the current forecast -->
<div class="modal-body">
<input class="form-control" type="text"
placeholder="Celsius forecast"
@bind="objWeatherForecast.TemperatureC" />
<input class="form-control" type="text"
placeholder="Fahrenheit forecast"
@bind="objWeatherForecast.TemperatureF" />
<input class="form-control" type="text"
placeholder="Summary"
@bind="objWeatherForecast.Summary" />
<br />
<!-- Button to save the forecast -->
<button class="btn btn-primary"
@onclick="SaveForecast">
Save
</button>
</div>
</div>
</div>
</div>
}
您将看到一个“模态”弹出窗口
现在,没有像 WPF 那样开箱即用的等价物。 但是一些关于此的良好记录样本:
https://www.telerik.com/blogs/creating-a-reusable-javascript-free-blazor-modal
https://www.syncfusion.com/blazor-components/blazor-modal-dialog
对我来说唯一的问题是如何为这种对话框设置动画,例如动画飞入/淡入淡出等等......
将 WPF 或 WinForms 应用程序移植到 Blazor 的最佳方法是使用 Nevron Open Vision for Blazor:
https://www.nevron.com/products-open-vision.aspx
它允许您从单个代码库开发在 Blazor 和 WPF/WinForms 上运行的用户界面! 也不需要 HTML 或 JS 知识 - 您只需用 C# 编写 UI。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.