它需要实现UI设置系统-从持久存储中加载/保存UI元素的一些属性(用户在运行时可以修改这些属性)。例如:
在加载/初始化/等控件之后,可以很容易地从设置存储中设置控件属性,但是如何捕捉控件卸载前的时刻(当控件仍然保存在可视树中)以便检索它们的设置以进行保存?
简短描述
我打算创建单例- UISettingsManager,它内部有一个字典,其中包含一对元素Uid、元素设置数据。在可视化容器(窗口,UserControl)中,这个管理器可以以如下方式使用:
public partial class PageHeader : UserControl
{
public PageHeader()
{
InitializeComponent();
UISettingsManager.RestoreSettings(myGridControl);
UISettingsManager.RestoreSettings(myPopup);
}
}myGridControl & myPopup具有唯一的Uid(在应用程序范围内),因此UISettingsManager可以从内部字典中检索它们的设置并将其应用于控件;当然,UISettingsManager知道如何处理一些不同类型的控件。
但是,当存储控件设置的时机合适时,哪个容器是窗口还是UserControl?
发布于 2010-10-11 19:45:55
我会使用窗口的正在关闭事件。
public class MyWindow : Window
{
public MyWindow()
{
this.Closing += new System.ComponentModel.CancelEventHandler(MyWindow_Closing);
}
void MyWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
// Save what I want to here
}
}这将是最安全的赌注,因为你总有一天会关闭窗口。
但是,可能有其他选项,包括用户控件的卸载事件。
https://stackoverflow.com/questions/3909242
复制相似问题