Добавить пользовательский элемент управления на изменение выбора сводной - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть Pivot с пользовательским элементом управления.

 <Pivot.ItemTemplate>
                <DataTemplate>
                    <local1:mycustomusercontrol></local1:mycustomusercontrol>
                </DataTemplate>
  </Pivot.ItemTemplate>

Теперь при изменении выбранного элемента в Pivot я хочу, чтобы мой mycustomusercontrol был заменен другим пользовательским элементом управления. Есть ли способ добиться этого?

  private void PivotContainer_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (PivotContainer.SelectedIndex != 0)
        {
           //Change user control
        }
    }

1 Ответ

1 голос
/ 03 апреля 2020

UIElement имеет свойство Children, которое содержит все дочерние элементы, которые оно содержит, вы можете попытаться изменить это.

Однако лично я предпочел бы использовать DataTemplateSelector и внутри которые определяют логи c из которых DataTemplate для отображения на основе некоторых критериев для модели представления, отображаемой в этой позиции.

В качестве альтернативы, если DataTemplateSelector не делает этого за вас, вы можете определить оба состояния в вашем mycustomusercontrol и переключите видимость для них.

Множество решений вашей проблемы.

...