#windows-phone-7
#windows-phone-7
Вопрос:
Я хотел бы установить цвет фона для заголовка панорамы. Я сделал это, создав DataTemplate и установив для него значение TitleTemplate. Затем я устанавливаю цвет фона как таковой:
<DataTemplate x:Key="PanoramaTitleTemplate">
<Grid Margin="0,50,0,0" Background="{StaticResource PhoneAccentBrush}">
<TextBlock Text="{Binding Content, RelativeSource={RelativeSource TemplatedParent}}" FontSize="133.333" />
</Grid>
</DataTemplate>
Проблема в том, что на последней странице панорамы цвет не заполняет всю область. Он заканчивается там, где заканчивается текст. Я попытался увеличить ширину сетки, но это не только по-прежнему не заполняет экран, но и влияет на прокрутку заголовка.
Ответ №1:
Создайте табличку данных для заголовка панорамы и задайте ширину текстового блока (элементы * 480):
<DataTemplate x:Key="PanoramaTitleTemplate">
<StackPanel Orientation="Horizontal" Background="#FF990000" Margin="-10 76 0 -9"> <!-- default 10,-76,0,9 -->
<Image x:Name="logoImage" Source="/ApplicationIcon.png" Margin="10 0 30 0" />
<TextBlock Text="{Binding}" VerticalAlignment="Center" Width="1920" Height="40" FontSize="20"/>
</StackPanel>
</DataTemplate>
Ответ №2:
Это связано с тем, что заголовок анимирован как часть эффекта paralax.
Вы могли бы написать свои собственные варианты замены панорамы, но вам будет гораздо проще добавить отдельное изображение на страницу вместо панорамы и добавить другой элемент (возможно, прямоугольник) перед тем, который вы можете считать цветом акцента.
Комментарии:
1. Иногда ответ слишком прост, чтобы его можно было увидеть. Я просто поместил заполненный прямоугольник позади заголовка, и вы не смогли бы заметить разницу. Не уверен, что вы имели в виду под «отдельным изображением», но я предполагаю, что вы имели в виду, было ли у панорамы фоновое изображение, которого у моего нет. Спасибо за решение.