2012-04-01 77 views
1

我有以下的用户控件:WPF用户控件XAML结合

<UserControl.Resources> 

    <Style TargetType="HeaderedItemsControl"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="HeaderedItemsControl"> 
        <Grid> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="*"/> 
         </Grid.RowDefinitions> 
         <TextBlock FontFamily="Segoe Script" 
            Text="{Binding ElementName=myHeaderedItemsControl.Header, Path=Category, Mode=OneWay}" 
            FontWeight="Bold" 
            HorizontalAlignment="Center" 
            Foreground="Olive" 
            Margin="20" 
            FontSize="50" 
            TextWrapping="Wrap" 
            Name="myText"/> 
         <ItemsPresenter Grid.Row="1" Grid.Column="1"/> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</UserControl.Resources> 

<Grid x:Name="LayoutRoot">   
      <TextBlock.RenderTransform> 
       <TransformGroup> 
        <ScaleTransform/> 
        <SkewTransform/> 
        <RotateTransform Angle="-90"/> 
        <TranslateTransform/> 
       </TransformGroup> 
      </TextBlock.RenderTransform> 
     </TextBlock> 
    </StackPanel>--> 
    <HeaderedItemsControl Name="myHeaderedItemsControl" Header="Predrag"> 
    </HeaderedItemsControl> 
</Grid> 

,基本上我想要的是Textblock text属性绑定到HeaderedItemsControl头属性。

+0

为什么你不只是在ContentSource =“Header”'中使用'ContentPresenter',就像我在[其他问题]中显示的那样(http://stackoverflow.com/questions/9957757/wpf-control-develop-idea )? – 2012-04-01 18:35:36

+0

,因为我没有设法设置适当的样式...... – Bip 2012-04-01 18:40:38

+0

你可以把它包装在一个'Border'中,并在那里设置属性,通常是这样做的。 (也可以通过附加属性设置文本属性,例如'TextElement.Foreground') – 2012-04-01 18:42:50

回答

3

为什么不使用这样的:

<TextBlock Text="{TemplateBinding Header}" /> 

不知道但是,什么Path=Category手段。

+0

Tnx :)解决它:) – Bip 2012-04-01 18:33:51

+0

有没有办法从后面的C#代码添加其他UIElement到HeaderedItemsControl,因为没有儿童属性? – Bip 2012-04-01 18:39:17

+0

我解决了这个问题,通过设置ItemsSource属性:) tnx反正 – Bip 2012-04-01 18:55:58