title: How to hide my app's calendar from built-in calendar app?
body: <p>My app needs an internal calendar. I can create a new calendar like this:</p>
  
  <pre class="lang-cs prettyprint-override"><code>var store = await AppointmentManager.RequestStoreAsync(AppointmentStoreAccessType.AppCalendarsReadWrite);
  var cacheCalendar = await store.CreateAppointmentCalendarAsync("unique name here");
  </code></pre>
  
  <p>This succeeds and I get a new calendar. But this calendar is visible in the phone's built-in calendar app. <strong>I don't want this calendar to be visible since it's for internal bookkeeping.</strong> </p>
  
  <p>So I try to hide the calendar like this:</p>
  
  <pre class="lang-cs prettyprint-override"><code>var store = await AppointmentManager.RequestStoreAsync(AppointmentStoreAccessType.AppCalendarsReadWrite);
  var cacheCalendar = await store.CreateAppointmentCalendarAsync("unique name here");
  cacheCalendar.IsHidden = true; // &lt;---- make calendar hidden
  await cacheCalendar.SaveAsync(); // &lt;---- save; error here
  </code></pre>
  
  <p>When calling <code>SaveAsync</code>I get the following exception:</p>
  
  <blockquote>
    <p>Access is denied. (Exception from HRESULT: 0x80070005
    (E_ACCESSDENIED))"</p>
  </blockquote>
  
  <p>Why can't I hide my calendar from the built-in phone calendar app? Is this an undocumented limitation? Are there other ways to do this?</p>
  
  <p>(Note: I tested this on a Windows 10 Mobile as well as desktop Win 10 - same error.)</p>
  
  <p><strong>Edit/Addition</strong>: Since Anthony discovered the <code>IsHidden</code> property is documented as read-only in MSDN here is a screenshot from Visual Studio showing the public setter (which makes it compile, run and seemingly legit to call):</p>
  
  <p><a href="https://i.stack.imgur.com/FRKwt.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FRKwt.png" alt="IsHidden property has setter"></a></p>
  
  <p>(The app targets Win 10 Build 10586 - maybe it's new, but unfinished?)</p>