2013-10-29 8 views
2

내 질문과 관련하여 아래 이미지를 확인하십시오. Windows Phone에서 피벗 헤더에 이미지 및 버튼을 추가하는 방법 8

enter image description here

은 내가 signout 버튼 PIVOT 머리글에 회사 로고를 구현하기 위해 노력하고 있습니다.

위의 링크, 즉 Bank Of America Windows phone 앱과 유사한 방식으로.

저는 Windows Phone 8 응용 프로그램 개발에 익숙하지 않습니다.

이 개념을 구현하기위한 모든 해결책/안내/도움을 주시면 감사하겠습니다.

+1

필자는 피벗의 헤더에 있지 않다고 생각합니다. 이미지 및 로그 아웃은 상단의 눈금 안에있는 것으로 보입니다. – Xyroid

답변

5

UPDATE 1

최고 <phone:PhoneApplicationPage ... /> 당신은 Pivot의 제목은 첫 번째와 세 번째 열 정의가 있어야한다는 조건을 충족해야하기 때문에 Pivot에 대한 사용자 지정 스타일을 만들 필요가


에서 xmlns:Primitives="clr-namespace:Microsoft.Phone.Controls.Primitives;assembly=Microsoft.Phone" 추가 : 너비 = "자동". 이와 같이 UI 요소를 직접 할당 할 수는 없습니다.

<phone:Pivot> 
    <phone:Pivot.Title> 
     <!-- XAML Elements --> 
    </phone:Pivot.Title> 
    <phone:PivotItem> 
    ..... 
</phone:Pivot> 

아래 코드를 사용해보십시오.

<phone:PhoneApplicationPage.Resources> 
    <Style x:Key="PivotStyle1" TargetType="phone:Pivot"> 
     <Setter Property="Margin" Value="0"/> 
     <Setter Property="Padding" Value="0"/> 
     <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/> 
     <Setter Property="Background" Value="Transparent"/> 
     <Setter Property="ItemsPanel"> 
      <Setter.Value> 
       <ItemsPanelTemplate> 
        <Grid/> 
       </ItemsPanelTemplate> 
      </Setter.Value> 
     </Setter> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="phone:Pivot"> 
        <Grid HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}"> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="*"/> 
         </Grid.RowDefinitions> 

         <Grid Background="{TemplateBinding Background}" Grid.RowSpan="3"/> 

         <Grid Background="#d60019" Height="50"> 

          <Grid.ColumnDefinitions> 
           <ColumnDefinition Width="Auto" /> 
           <ColumnDefinition /> 
           <ColumnDefinition Width="Auto" /> 
          </Grid.ColumnDefinitions> 

          <TextBlock 
           HorizontalAlignment="Left" 
           Margin="12,0,0,0" 
           Foreground="White" 
           FontSize="20" 
           VerticalAlignment="Center" 
           Text="Bank of America" 
           Tap="TextBlock_Tap_1"/> 

          <ContentControl 
           ContentTemplate="{TemplateBinding TitleTemplate}" 
           Content="{TemplateBinding Title}" 
           Grid.Column="1" 
           HorizontalAlignment="Left" 
           Margin="0,0,0,-7" 
           VerticalAlignment="Center" 
           Style="{StaticResource PivotTitleStyle}"/> 

          <TextBlock 
           Foreground="White" 
           FontSize="20" 
           Margin="0,0,10,0" 
           Grid.Column="2" 
           HorizontalAlignment="Right" 
           VerticalAlignment="Center" 
           Text="sign out" /> 

         </Grid> 

         <Primitives:PivotHeadersControl x:Name="HeadersListElement" Grid.Row="1"/> 
         <ItemsPresenter x:Name="PivotItemPresenter" Margin="{TemplateBinding Padding}" Grid.Row="2"/> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</phone:PhoneApplicationPage.Resources> 

<Grid x:Name="LayoutRoot"> 
    <phone:Pivot 
    Title="" 
    Style="{StaticResource PivotStyle1}"> 

     <phone:PivotItem 
     Header="accounts" /> 

     <phone:PivotItem 
     Header="deals" /> 

    </phone:Pivot> 
</Grid> 
+0

이것은 더 나은 접근 방법입니다 –

+0

이 두 가지 오류가 발생하며이 오류의 의미를 이해할 수 없습니다 .. 오류 1 : "프리미티브"네임 스페이스 접두사가 정의되지 않았습니다. \t 오류 2 : Silverlight 프로젝트에서 PivotHeadersControl이 지원되지 않습니다. – Dexto

+0

UPDATE 1을 참조하십시오. – Xyroid