房地产活动策划网站app001推广平台官网
Avalonia 里使用弹框控件,全局设置window的背景,引用的弹框也生效了,通过修改弹框的样式覆盖全局的样式。
修改弹框的样式
弹框的样式是MsBoxWindow窗体,里面的内容放的是MsBoxCustomView,看到的内容是MsBoxCustomView,通过修改MsBoxCustomView的背景覆盖Window全局设置的背景,里面显示的文字可以被复制。
Selector=“controls|MsBoxCustomView TextBox” 设置的文字样式生效了。
Selector=“controls|MsBoxCustomView Button” 设置的按钮样式也生效了。
弹框窗体的构建
public static IMsBox<string> GetMessageBoxCustom(MessageBoxCustomParams @params){MsBoxCustomViewModel viewModel = new MsBoxCustomViewModel(@params);MsBoxCustomView view = new MsBoxCustomView();view.DataContext = (object) viewModel;return (IMsBox<string>) new MsBox.Avalonia.MsBox<MsBoxCustomView, MsBoxCustomViewModel, string>(view, viewModel);}
弹框窗体提示文字是
TextBox
全局设置样式
<Style Selector="controls|MsBoxCustomView TextBox"><Setter Property="Foreground" Value="White"></Setter></Style><Style Selector="controls|MsBoxCustomView Button"><Setter Property="Foreground" Value="White"></Setter>
</Style>