Это моя ситуация: у меня есть TabControl, и я заменил его шаблон своим собственным, чтобы заголовки TabItems отображались внутри таблицы, таким образом, равномерно распределяясь по доступному пространству. Я поместил сеттер в стиль TabItem, значение которого привязано к наследственной Grid (та, что упоминалась ранее). Я использую конвертер, чтобы назначить Grid.Row Grid.Children.IndexOf (TabItem) и в процессе добавления RowDefinition к этой Grid.
Это прекрасно работает при добавлении TabItems (динамически), но когда я удаляю TabItem, он не обновляет значения. Поэтому я считаю, что мне нужно разместить триггер, чтобы каждый раз, когда Grid.Children изменялся, значения пересчитывались. Я не уверен, как это сделать.