У меня есть страница XAML с только Pivot
со связанным ItemSource и следующим шаблоном (с изменением только заголовка для simpilcity)
<phone:Pivot
Margin="0,108,0,0"
ItemsSource="{Binding Services}">
<phone:Pivot.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" />
</DataTemplate>
</phone:Pivot.HeaderTemplate>
<phone:Pivot.ItemTemplate>
<DataTemplate>
</DataTemplate>
</phone:Pivot.ItemTemplate>
</phone:Pivot>
Элемент ItemSource (Services) - это ObservableCollection
простого типа данных, в котором используется только свойство Title
реализующее INotifyPropertyChanged
. Когда я изменяю Title
любого элемента, заголовок Pivot
отображается очень странно:
Вот полное упрощенное решение для воспроизведения проблемы: https://dl.dropboxusercontent.com/u/73642/pivotproblem.zip
Это ошибка Pivot
?
На самом деле ошибка... У меня была та же проблема, и я в конечном итоге вынуждаю перезагрузить весь DataContext Pivot.
Поскольку я использовал MVVM, я просто создал новый экземпляр коллекции элементов и повышенное свойство, измененное для этого.
Кажется, что TextBlock's
Width
не обновляется после изменения Title
. Вы можете проверить это, определив свой TextBlock
следующим образом:
<TextBlock Text="{Binding Title}" Width="400" />
Следовательно, он не обновляется, два заголовка перекрывают друг друга.