-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
希望可以自定义 Dialog 和 MessageBox 的按钮文字和样式 #422
Comments
MessageBox的设计完全是为了兼容WPF的API。如果默认按钮的默认文字不符合要求,都应该自己创建CustomDialog来定义 |
感谢回复!那么有没有可能增加一个 MessageBoxEx 来支持这些自定义特性呢?毕竟都是简单的文本内容,每个MessageBox都通过创建 custom dialog 有点杀鸡用牛刀了。 |
如果只是定义文字的话,只需要在CustomDialog的View中预留Button文字绑定VM的内容,然后每次调用Dialog给VM赋值不同的Button文字就可以了,这样一个CustomDialogView就可以反复使用,不太需要一个单独的API。如果是还要控制颜色和顺序,那就更不可能通过简单的配置来控制了。 |
@genment 比起更改按钮颜色与文本,或许精心设计的Message和Titile更加高效。 |
嗯,目前是打算这样做了
没有专业设计师,只能使用现成的 |
补充一下最近的发现: 原来 Win32 有一个 TaskDialog,包括 dialog 的内容,控件,按钮等等都可以自定义,可定制性非常高。Winforms 在 .net 5 开始也增加了 TaskDialog。我觉得如果 Ursa 可以增加这个控件,会非常棒! 后来又发现 FluentAvalonia 居然已经有类似的控件了:
|
可自定义内容:
按钮文字、按钮样式、按钮顺序
包括
OverlayDialog
、Dialog
、MessageBox.Show()
、MessageBox.ShowOverlay()
应用场景 1(按钮样式、顺序):
比如
YesNo
按钮,目前默认的按钮样式是这样的,看起来很奇怪:这种情况下,“是”是危险操作,应该在左边,使用红色;而“否”是安全操作,应该在右边,可以使用主题色。
应用场景 2(按钮文字):
默认的按钮文字可能不能满足所有需求(比如国际化、特殊业务场景),如果需要改文字,需要重新定义一个Custom Dialog界面,很麻烦
像这种情况,如果使用
YesNo
按钮,就和上面说的场景1的情况一样了。如果使用
OKCancel
,那么这个取消
就很迷惑了。如果可以自定义文字,那么就可以消除这种歧义:[继续执行] [取消任务]
The text was updated successfully, but these errors were encountered: