“覆盖”消息框模板

时间:2019-06-30 15:01:24

标签: c# wpf templates messagebox

我已经有一个很大的应用程序,里面有很多MessageBox。

我想为所有MessageBox(背景,边框等...)创建一个模板。 是否可以通过App.xaml轻松地做到这一点,或者我是否有必要考虑制作自己的自定义MessageBox,然后替换解决方案中的所有MessageBox? 我在App.xaml中尝试过,但是看不到设置TargetType =“ MessageBox”的可能性。

1 个答案:

答案 0 :(得分:1)

我认为这是不可能的。这是本机Windows控件。但是您可以非常轻松地创建自己的。您可以使用自定义的Window.ShowDialog(),然后通过调用YourClass.prototype.addMoreItemsFromSource = function (chunkSize) { var newItems = this._sourceDataItems.splice(0, chunkSize); this.dataItems.push(newItems); }; YourClass.prototype.onLoadMoreItemsRequested = (args) { var that = new WeakRef(this); var listView = args.object; if (this._sourceDataItems.length > 0) { setTimeout(function () { that.get().addMoreItemsFromSource(2); listView.notifyLoadOnDemandFinished(); }, 1500); args.returnValue = true; } else { args.returnValue = false; listView.notifyLoadOnDemandFinished(true); } } 将其显示为模态。