【问题标题】:how to save hyperlink button in isolated storage如何将超链接按钮保存在隔离存储中
【发布时间】:2013-10-21 09:02:55
【问题描述】:

我有一个在运行时创建的超链接按钮列表

public void SaveBookmark()
        {
            Button objButton = new Button();
            objButton.Content = "Delete";
            objButton.HorizontalAlignment = System.Windows.HorizontalAlignment.Right;
            objButton.Foreground = new SolidColorBrush((Colors.Black));
            objButton.BorderBrush = new SolidColorBrush((Colors.Black));

            HyperlinkButton objhyperlinkbtn = new HyperlinkButton();
            objhyperlinkbtn.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
            objhyperlinkbtn.FontSize = 34;
            objhyperlinkbtn.Foreground = new SolidColorBrush((Colors.Black));
            objhyperlinkbtn.Tag = Index;

            stackpanel.Children.Add(objhlbBookMark);
            stackpanel.Children.Add(objButton);

        }

我想将它保存在独立存储中。 请帮我将其保存在隔离存储中。 如果用户保存书签,我想让用户选择书签,然后在页面上保存超链接按钮以查看书签列表

【问题讨论】:

  • 不明白,为什么要将 UI 元素保存到隔离存储。你能在这里给我们更多的信息吗?
  • 其实我让用户选择书签,如果用户保存书签,然后超链接按钮保存在页面上以查看书签列表
  • @RizwanQureshi,没有必要将 UI 控件保存到 isolatedStorage。我认为,您应该使用xml序列化将当前项目的属性保存到isolatedStorage。因此,当您需要在不同页面上构建具有相同属性的控件时,只需从 xml 文件中加载属性即可。
  • +1 更多建议,您可以仅保存有关页面状态的信息,或者您可以将控件类型保留在 ISO(隔离存储)上。没有必要存储 UI 控件。

标签: c# windows-phone-7 windows-phone isolatedstorage


【解决方案1】:

您可以在代码中“保存”按钮本身(保持原样)。

但是,您希望自己保存超链接。如果您需要可读性(以便您可以通过“Windows Phone Power Tools”打开和读取包含超链接的文件),请使用json 写入文件(包括示例和屏幕截图)。否则,请使用binary stream(包括示例)。

【讨论】:

    【解决方案2】:

    好吧,如果我正确理解了你的观点。 先做一个包装类

     public class HypProperties
        {
         public string contentText{get;Set;}
        public double Height{get;Set;}
        public double Width{get;Set;}
    //othere properties add according to requirements
        }
    

    现在您可以使用 IsolatedStorageSettings.ApplicationSettings 将对象保存在其中。 样本- 保存 -

    HypProperties obj=new HypProperties (){contentText="",Height=height,Width=width};
    if(!IsolatedStorageSettings.ApplicationSettings.Contains("KeyName"))
    {
    IsolatedStorageSettings.ApplicationSettings["KeyName"]=obj;
    IsolatedStorageSettings.ApplicationSettings.Save();
    }
    

    检索

    if(IsolatedStorageSettings.ApplicationSettings.Contains("KeyName"))
            {
            HypProperties obj=IsolatedStorageSettings.ApplicationSettings["KeyName"] as HypProperties;
            }
    

    但我建议您只存储该超链接按钮的属性。保存 UI 元素不是正确的方法。

    【讨论】:

    • 所以请告诉我如何将控件的所有属性保存在隔离存储中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    相关资源
    最近更新 更多