Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 逻辑删除画布可见性属性_C#_Windows Phone 7.1_Windows Phone 7 - Fatal编程技术网

C# 逻辑删除画布可见性属性

C# 逻辑删除画布可见性属性,c#,windows-phone-7.1,windows-phone-7,C#,Windows Phone 7.1,Windows Phone 7,我在检索画布的可见性属性的状态时遇到了一个小问题。当我检索页面状态时,画布始终可见,即使它在被删除时已折叠。我尝试了一系列if-else和switch语句,但没有成功。如何修复此错误?提前感谢任何想要帮助的人 代码如下: private const string coachPivotKey = "CoachPivotKey"; private const string isVisibleKey = "IsVisibleKey"; protected override v

我在检索画布的可见性属性的状态时遇到了一个小问题。当我检索页面状态时,画布始终可见,即使它在被删除时已折叠。我尝试了一系列if-else和switch语句,但没有成功。如何修复此错误?提前感谢任何想要帮助的人

代码如下:

    private const string coachPivotKey = "CoachPivotKey";
    private const string isVisibleKey = "IsVisibleKey";

    protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
    {
        this.SaveState(coachPivotKey, coachPivot.SelectedIndex);
        this.SaveState(isVisibleKey, canvasNotes.Visibility);
    }

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        coachPivot.SelectedItem = coachPivot.Items[this.LoadState<int>(coachPivotKey)];
        canvasNotes.Visibility = this.LoadState<Visibility>(isVisibleKey);

        base.OnNavigatedTo(e);
    }
私有常量字符串coachPivotKey=“coachPivotKey”; 私有常量字符串isVisibleKey=“isVisibleKey”; 受保护的覆盖无效OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) { 保存状态(coachPivot键,coachPivot.SelectedIndex); 这个.SaveState(isVisibleKey,canvasNotes.Visibility); } 受保护的覆盖无效OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { coachPivot.SelectedItem=coachPivot.Items[this.LoadState(coachPivotKey)]; canvasNotes.Visibility=this.LoadState(isVisibleKey); 基地。导航到(e); } LoadState()和SaveState()方法位于不同的类中。这些是我在墓碑上看的视频中得到的:

public static void SaveState(this PhoneApplicationPage phoneApplicationPage, string key, object value)
    {
        if (phoneApplicationPage.State.ContainsKey(key))
        {
            phoneApplicationPage.State.Remove(key);
        }

        phoneApplicationPage.State.Add(key, value);
    }

public static T LoadState<T>(this PhoneApplicationPage phoneApplicationPage, string key)
    {
        if (phoneApplicationPage.State.ContainsKey(key))
        {
            return (T)phoneApplicationPage.State[key];
        }

        return default(T);
    }
public static void SaveState(此PhoneApplicationPage PhoneApplicationPage,字符串键,对象值)
{
if(phoneApplicationPage.State.ContainsKey(键))
{
phoneApplicationPage.State.Remove(键);
}
phoneApplicationPage.State.Add(键、值);
}
公共静态T加载状态(此PhoneApplicationPage PhoneApplicationPage,字符串键)
{
if(phoneApplicationPage.State.ContainsKey(键))
{
返回(T)phoneApplicationPage.State[键];
}
返回默认值(T);
}

保存指示控件是否可见的
bool
而不是保存
System.Windows.Visibility

this.SaveState(isVisibleKey,coachNotes.Visibility == Visibility.Visible); 


canvasNotes.Visibility = this.LoadState<bool>(isVisibleKey) ? Visibility.Visible : Visibility.Collapsed;
this.SaveState(isVisibleKey,coachNotes.Visibility==Visibility.Visible);
canvasNotes.Visibility=this.LoadState(isVisibleKey)?可见性.可见:可见性.折叠;

保存指示控件是否可见的
bool
而不是保存
System.Windows.Visibility

this.SaveState(isVisibleKey,coachNotes.Visibility == Visibility.Visible); 


canvasNotes.Visibility = this.LoadState<bool>(isVisibleKey) ? Visibility.Visible : Visibility.Collapsed;
this.SaveState(isVisibleKey,coachNotes.Visibility==Visibility.Visible);
canvasNotes.Visibility=this.LoadState(isVisibleKey)?可见性.可见:可见性.折叠;

调试时,可见性的值是否在状态字典中?是的,可见值和折叠值都会进入SaveState()字典,但您能否在LoadState中看到它们(即它们是否实际正确存储)请尝试将可见性保存为布尔值而不是可见性。可见性有两种状态:this.SaveState(isVisibleKey,coachNotes.Visibility==Visibility.Visibility;canvasNotes.Visibility=this.LoadState(isVisibleKey)?Visibility.Visibility:Visibility.Collapsed;调试完成时,状态字典中的可见性值是吗?是的,可见值和塌陷值都会转到SaveState()字典但是你能在LoadState中看到它们吗(即它们是否确实正确存储)尝试将可见性保存为布尔而不是可见性。可见性有两种状态:)this.SaveState(isVisibleKey,coachNotes.Visibility==可见性。Visibility;canvasNotes.Visibility=this.LoadState(isVisibleKey)?可见性。可见:可见性。折叠;