{"id":472,"date":"2014-01-13T23:57:25","date_gmt":"2014-01-13T22:57:25","guid":{"rendered":"http:\/\/www.ree7.fr\/blog\/?p=472"},"modified":"2022-08-08T06:47:41","modified_gmt":"2022-08-08T05:47:41","slug":"data-binding-pivotitem-visibility-an-helper","status":"publish","type":"post","link":"http:\/\/www.ree7.fr\/blog\/2014\/01\/data-binding-pivotitem-visibility-an-helper\/","title":{"rendered":"Data-binding PivotItem.Visibility : an helper"},"content":{"rendered":"<p>A common quirk of Windows Phone&rsquo;s Pivot control API is the lack of support of the Visibility property.<br \/>\nThe property is held by the Pivot class, but toggling it to Visible or Collapsed does not change the visibility of the PivotItem. In fact the only way to hide a PivotItem is to remove it from its parent Items collection.<\/p>\n<p>This is unfortunate because it is a common use-case to have a boolean property in your ViewModel that would be perfect to toggle the visibility of the PivotItem rather than writing code-behind or implementing a collection in your viewmodel for this scenario, polluting the viewmodel with unnecessary logic.<\/p>\n<p>Here is a little extension class adding an attached property IsDisplayed to PivotItem that you can bind that will dynamically add\/remove the PivotItem from its parent.<\/p>\n<h2>Source code :<\/h2>\n<style> #wrap_githubgist8409446 .gist-data {max-height: 100%;} <\/style><div id=\"wrap_githubgist8409446\" style=\"width:100%\"><script>document.write('<link rel=\"stylesheet\" href=\"https:\/\/github.githubassets.com\/assets\/gist-embed-461c581508135de9.css\">')\ndocument.write('<div id=\\\"gist8409446\\\" class=\\\"gist\\\">\\n    <div class=\\\"gist-file\\\" translate=\\\"no\\\" data-color-mode=\\\"light\\\" data-light-theme=\\\"light\\\">\\n      <div class=\\\"gist-data\\\">\\n        \\n<div class=\\\"js-gist-file-update-container js-task-list-container\\\">\\n      <div id=\\\"file-pivotitemex-cs\\\" class=\\\"file my-2\\\">\\n    \\n    <div itemprop=\\\"text\\\"\\n      class=\\\"Box-body p-0 blob-wrapper data type-c  \\\"\\n      style=\\\"overflow: auto\\\" tabindex=\\\"0\\\" role=\\\"region\\\"\\n      aria-label=\\\"PivotItemEx.cs content, created by pleasereset on 10:34PM on January 13, 2014.\\\"\\n    >\\n\\n        \\n<div class=\\\"js-check-hidden-unicode js-blob-code-container blob-code-content\\\">\\n\\n  <template class=\\\"js-file-alert-template\\\">\\n  <div data-view-component=\\\"true\\\" class=\\\"flash flash-warn flash-full d-flex flex-items-center\\\">\\n  <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-alert\\\">\\n    <path d=\\\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\\\"><\\\/path>\\n<\\\/svg>\\n    <span>\\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.\\n      <a class=\\\"Link--inTextBlock\\\" href=\\\"https:\/\/github.co\/hiddenchars\\\" target=\\\"_blank\\\">Learn more about bidirectional Unicode characters<\\\/a>\\n    <\\\/span>\\n\\n\\n  <div data-view-component=\\\"true\\\" class=\\\"flash-action\\\">        <a href=\\\"{{ revealButtonHref }}\\\" data-view-component=\\\"true\\\" class=\\\"btn-sm btn\\\">    Show hidden characters\\n<\\\/a>\\n<\\\/div>\\n<\\\/div><\\\/template>\\n<template class=\\\"js-line-alert-template\\\">\\n  <span aria-label=\\\"This line has hidden Unicode characters\\\" data-view-component=\\\"true\\\" class=\\\"line-alert tooltipped tooltipped-e\\\">\\n    <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-alert\\\">\\n    <path d=\\\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\\\"><\\\/path>\\n<\\\/svg>\\n<\\\/span><\\\/template>\\n\\n  <table data-hpc class=\\\"highlight tab-size js-file-line-container\\\" data-tab-size=\\\"4\\\" data-paste-markdown-skip data-tagsearch-path=\\\"PivotItemEx.cs\\\">\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L1\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"1\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC1\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/* PivotItemEx.cs<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L2\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"2\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC2\\\" class=\\\"blob-code blob-code-inner js-file-line\\\"> * ==============<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L3\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"3\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC3\\\" class=\\\"blob-code blob-code-inner js-file-line\\\"> * Extensions to Microsoft.Phone.Controls.PivotItem<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L4\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"4\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC4\\\" class=\\\"blob-code blob-code-inner js-file-line\\\"> * Pierre BELIN, 2013-14 &lt;pierre@ree7.fr&gt;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L5\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"5\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC5\\\" class=\\\"blob-code blob-code-inner js-file-line\\\"> * <\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L6\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"6\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC6\\\" class=\\\"blob-code blob-code-inner js-file-line\\\"> * Licensed under the MS-PL<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L7\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"7\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC7\\\" class=\\\"blob-code blob-code-inner js-file-line\\\"> *\/<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L8\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"8\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC8\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L9\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"9\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC9\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">using Microsoft.Phone.Controls;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L10\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"10\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC10\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">using System.Collections.Generic;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L11\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"11\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC11\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">using System.Windows;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L12\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"12\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC12\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L13\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"13\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC13\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">namespace ree7.Utils.Controls<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L14\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"14\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC14\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">{<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L15\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"15\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC15\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    \/\/\/ &lt;summary&gt;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L16\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"16\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC16\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    \/\/\/ Extensions to Microsoft.Phone.Controls.PivotItem<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L17\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"17\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC17\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    \/\/\/ &lt;\/summary&gt;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L18\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"18\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC18\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    public static class PivotItemEx<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L19\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"19\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC19\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L20\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"20\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC20\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        \/\/\/ &lt;summary&gt;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L21\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"21\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC21\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        \/\/\/ Holds metadata to properly restore the PivotItems<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L22\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"22\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC22\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        \/\/\/ &lt;\/summary&gt;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L23\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"23\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC23\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        private class PivotItemMetadata<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L24\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"24\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC24\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L25\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"25\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC25\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            public Pivot Parent { get; set; }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L26\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"26\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC26\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            public int Position { get; set; }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L27\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"27\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC27\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L28\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"28\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC28\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L29\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"29\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC29\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        private static List&lt;Pivot&gt; managedPivots = new List&lt;Pivot&gt;();<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L30\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"30\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC30\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        private static Dictionary&lt;PivotItem, PivotItemMetadata&gt; disabledItems = new Dictionary&lt;PivotItem, PivotItemMetadata&gt;();<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L31\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"31\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC31\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L32\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"32\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC32\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        public static bool GetIsDisplayed(DependencyObject obj)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L33\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"33\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC33\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L34\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"34\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC34\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            return (bool)obj.GetValue(IsDisplayedProperty);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L35\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"35\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC35\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L36\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"36\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC36\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L37\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"37\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC37\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        public static void SetIsDisplayed(DependencyObject obj, bool value)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L38\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"38\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC38\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L39\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"39\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC39\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            obj.SetValue(IsDisplayedProperty, value);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L40\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"40\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC40\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L41\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"41\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC41\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L42\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"42\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC42\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        \/\/ Using a DependencyProperty as the backing store for IsDisplayed.  This enables animation, styling, binding, etc...<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L43\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"43\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC43\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        public static readonly DependencyProperty IsDisplayedProperty =<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L44\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"44\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC44\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            DependencyProperty.RegisterAttached(&quot;IsDisplayed&quot;, typeof(bool), typeof(PivotItemEx), new PropertyMetadata(true, OnIsDisplayedChanged));<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L45\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"45\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC45\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L46\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"46\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC46\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        private static void OnIsDisplayedChanged(DependencyObject obj, DependencyPropertyChangedEventArgs a)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L47\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"47\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC47\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L48\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"48\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC48\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            bool value = (bool)a.NewValue;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L49\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"49\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC49\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L50\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"50\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC50\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            \/\/ Only act when value turns false by removing the PivotItem from its parent<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L51\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"51\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC51\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            if (value == false)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L52\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"52\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC52\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L53\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"53\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC53\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                PivotItem source = obj as PivotItem;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L54\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"54\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC54\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                if (obj == null) return;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L55\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"55\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC55\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L56\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"56\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC56\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                Pivot pivot = source.Parent as Pivot;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L57\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"57\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC57\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                if (pivot == null) return;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L58\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"58\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC58\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L59\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"59\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC59\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                \/\/ Store the pivot metadata<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L60\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"60\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC60\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                PivotItemMetadata meta = new PivotItemMetadata();<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L61\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"61\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC61\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                meta.Parent = pivot;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L62\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"62\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC62\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                meta.Position = pivot.Items.IndexOf(source);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L63\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"63\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC63\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                disabledItems[source] = meta;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L64\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"64\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC64\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L65\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"65\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC65\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                Deployment.Current.Dispatcher.BeginInvoke(() =&gt;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L66\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"66\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC66\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L67\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"67\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC67\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    pivot.Items.Remove(source);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L68\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"68\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC68\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                });<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L69\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"69\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC69\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L70\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"70\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC70\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            else<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L71\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"71\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC71\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L72\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"72\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC72\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                PivotItem source = obj as PivotItem;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L73\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"73\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC73\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                if (obj == null) return;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L74\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"74\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC74\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L75\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"75\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC75\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                if (disabledItems.ContainsKey(source))<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L76\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"76\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC76\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L77\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"77\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC77\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    PivotItemMetadata meta = disabledItems[source];<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L78\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"78\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC78\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    Pivot parent = meta.Parent;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L79\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"79\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC79\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    <\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L80\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"80\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC80\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    disabledItems.Remove(source);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L81\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"81\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC81\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    if (CheckPivotStillUsed(parent) == false)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L82\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"82\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC82\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L83\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"83\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC83\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                        UnsubscribePivot(parent);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L84\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"84\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC84\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L85\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"85\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC85\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L86\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"86\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC86\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    Deployment.Current.Dispatcher.BeginInvoke(() =&gt;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L87\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"87\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC87\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L88\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"88\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC88\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                        if (meta.Position &gt; parent.Items.Count)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L89\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"89\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC89\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L90\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"90\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC90\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                            parent.Items.Add(source);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L91\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"91\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC91\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                        }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L92\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"92\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC92\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                        else<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L93\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"93\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC93\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L94\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"94\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC94\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                            parent.Items.Insert(meta.Position, source);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L95\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"95\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC95\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                        }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L96\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"96\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC96\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    });<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L97\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"97\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC97\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L98\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"98\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC98\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L99\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"99\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC99\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L100\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"100\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC100\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L101\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"101\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC101\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        private static void OnManagedPivotUnloaded(object sender, RoutedEventArgs e)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L102\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"102\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC102\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L103\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"103\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC103\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            UnsubscribePivot((Pivot)sender);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L104\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"104\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC104\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L105\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"105\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC105\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L106\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"106\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC106\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        private static bool CheckPivotStillUsed(Pivot p)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L107\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"107\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC107\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L108\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"108\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC108\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            foreach (var meta in disabledItems.Values)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L109\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"109\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC109\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L110\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"110\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC110\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                if (meta.Parent == p) return true;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L111\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"111\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC111\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L112\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"112\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC112\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L113\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"113\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC113\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            return false;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L114\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"114\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC114\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L115\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"115\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC115\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L116\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"116\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC116\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        private static void SubscribePivot(Pivot p)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L117\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"117\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC117\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L118\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"118\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC118\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            if (managedPivots.Contains(p) == false)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L119\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"119\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC119\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L120\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"120\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC120\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                managedPivots.Add(p);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L121\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"121\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC121\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                p.Unloaded += OnManagedPivotUnloaded;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L122\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"122\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC122\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L123\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"123\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC123\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        }      <\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L124\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"124\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC124\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L125\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"125\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC125\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        private static void UnsubscribePivot(Pivot p)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L126\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"126\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC126\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L127\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"127\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC127\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            if (managedPivots.Contains(p))<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L128\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"128\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC128\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L129\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"129\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC129\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                managedPivots.Remove(p);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L130\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"130\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC130\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                p.Unloaded -= OnManagedPivotUnloaded;<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L131\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"131\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC131\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L132\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"132\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC132\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                List&lt;PivotItem&gt; keysToRemove = new List&lt;PivotItem&gt;();<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L133\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"133\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC133\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                foreach (var pair in disabledItems)<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L134\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"134\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC134\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                {<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L135\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"135\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC135\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                    if (pair.Value.Parent == p) keysToRemove.Add(pair.Key);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L136\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"136\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC136\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L137\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"137\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC137\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">                foreach (var key in keysToRemove) disabledItems.Remove(key);<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L138\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"138\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC138\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">            }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L139\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"139\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC139\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">        }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L140\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"140\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC140\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    }<\\\/td>\\n        <\\\/tr>\\n        <tr>\\n          <td id=\\\"file-pivotitemex-cs-L141\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"141\\\"><\\\/td>\\n          <td id=\\\"file-pivotitemex-cs-LC141\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">}<\\\/td>\\n        <\\\/tr>\\n  <\\\/table>\\n<\\\/div>\\n\\n\\n    <\\\/div>\\n\\n  <\\\/div>\\n\\n<\\\/div>\\n\\n      <\\\/div>\\n      <div class=\\\"gist-meta\\\">\\n        <a href=\\\"https:\/\/gist.github.com\/pleasereset\/8409446\/raw\/1349a5505cf76b366df822e66c2939dd449f7693\/PivotItemEx.cs\\\" style=\\\"float:right\\\" class=\\\"Link--inTextBlock\\\">view raw<\\\/a>\\n        <a href=\\\"https:\/\/gist.github.com\/pleasereset\/8409446#file-pivotitemex-cs\\\" class=\\\"Link--inTextBlock\\\">\\n          PivotItemEx.cs\\n        <\\\/a>\\n        hosted with &#10084; by <a class=\\\"Link--inTextBlock\\\" href=\\\"https:\/\/github.com\\\">GitHub<\\\/a>\\n      <\\\/div>\\n    <\\\/div>\\n<\\\/div>\\n')\n<\/script><div style='margin-bottom:1em;padding:0;'><noscript><code><pre style='overflow:auto;margin:0;padding:0;border:1px solid #DDD;'>400: Invalid request<\/pre><\/code><\/noscript><\/div><\/div>\n<h2>How to use it :<\/h2>\n<p>Declare a boolean property in your ViewModel that triggers the NotifyPropertyChanged event on change (here with MVVM Light) :<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n#region public bool HasRelatedVideos\r\nprivate bool _HasRelatedVideos;\r\npublic bool HasRelatedVideos\r\n{\r\n  get\r\n  {\r\n    return _HasRelatedVideos;\r\n  }\r\n  set\r\n  {\r\n    _HasRelatedVideos = value;\r\n    RaisePropertyChanged(() =&gt; HasRelatedVideos);\r\n  }\r\n}\r\n#endregion\r\n<\/pre>\n<p>In your XAML file, declare a reference to the namespace of the PivotItemEx :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nxmlns:uc=&quot;clr-namespace:ree7.Utils.Controls&quot;\r\n<\/pre>\n<p>And finally declare and bind the attached property in the PivotItem :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n&lt;controls:PivotItem Header=&quot;{Binding l.star_related_videos, Source={StaticResource LocaleHelper}}&quot;\r\n\t\t    uc:PivotItemEx.IsDisplayed=&quot;{Binding HasRelatedVideos}&quot;&gt;\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>A common quirk of Windows Phone&rsquo;s Pivot control API is the lack of support of the Visibility property. The property is held by the Pivot class, but toggling it to Visible or Collapsed does not change the visibility of the PivotItem. In fact the only way to hide a PivotItem is to remove it from [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[7,18],"tags":[77,52,48,76,20],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p19lzH-7C","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/posts\/472"}],"collection":[{"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/comments?post=472"}],"version-history":[{"count":1,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/posts\/472\/revisions"}],"predecessor-version":[{"id":584,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/posts\/472\/revisions\/584"}],"wp:attachment":[{"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/media?parent=472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/categories?post=472"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.ree7.fr\/blog\/wp-json\/wp\/v2\/tags?post=472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}