I am creating a 12 month calendar using the individual calendar controls for each month. Since I am controlling the calendars (Jan - Dec) via separate next year and previous year buttons, I want to remove the previous and next calendaritem buttons from the individual calendars and disable the ability to change the display mode. 

Since I am new to XAML and more comfortable with doing this in code, I would prefer to change the style at runtime but willing to learn how to make it happen via XAML but I am having a very difficult time finding an example of someone doing something like this.

Hope someone can help.
['https://Stackoverflow.com/questions/13086869', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1777028/']
I would refer you to [this](http://msdn.microsoft.com/en-us/magazine/dd882520.aspx) article to get some basic understanding of Calendar control.

In short, you need to modify CalendarItemStyle and remove PART\_PreviousButton and PART\_NextButton from its template. You can find default template for all parts of Calendar control [here](http://msdn.microsoft.com/en-us/library/ff468218.aspx).

When you create a new calendar item style without those parts then set it to [CalendarItemStyle](http://msdn.microsoft.com/en-us/library/system.windows.controls.calendar.calendaritemstyle.aspx) property of your calendar in XAML.
Like Chris, I didn't want to mess with a ton a XAML. I also needed to hide/show dynamically. I imagine there is a way to do this with bindings in XAML as well, but I thought this was a pretty simple start. Just add a new class with this code, then use this derived control instead.

Edit: I updated it to have a property you can set, HidePrevNextBtns. If checked/true, buttons will be hidden. This code does make a couple assumptions. One is that the template will also have prev/next buttons, and other is they will be visible by default.

```
class MyCalendar : Calendar 
{
    public Button PrevBtn;
    public Button NextBtn;

    protected bool _HidePrevNextBtns;
    public bool HidePrevNextBtns
    {
        get
        {
            return (_HidePrevNextBtns);
        }
        set
        {
            _HidePrevNextBtns = value;
            if (PrevBtn != null)
            {
                PrevBtn.Visibility = _HidePrevNextBtns ? Visibility.Hidden : Visibility.Visible;
                NextBtn.Visibility = _HidePrevNextBtns ? Visibility.Hidden : Visibility.Visible;
            }
        }
    }

    public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();

        var cal = this.Template.FindName("PART_CalendarItem", this) as CalendarItem;

        cal.Loaded += new RoutedEventHandler(cal_Loaded);
    }

    void cal_Loaded(object sender, RoutedEventArgs e)
    {
        var cal = sender as CalendarItem;
        PrevBtn = cal.Template.FindName("PART_PreviousButton", cal) as Button;
        NextBtn = cal.Template.FindName("PART_NextButton", cal) as Button;
        if (_HidePrevNextBtns)
        {
            PrevBtn.Visibility = Visibility.Hidden;
            NextBtn.Visibility = Visibility.Hidden;
        }
    }
}

```