2014-03-25 27 views
0

我需要在TextBlock后立即添加图像。如何在TextBlock后添加图像?

当文本在第二行显示时文本不适合宽度时,TextBlock具有特定的宽度。

图像也应放置在第二行文本行的末尾。

任何想法如何更改我的DataTemplate的xaml?

<DataTemplate x:Key="CategoriesUnselectedDataTemplate"> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="Auto"/> 
         <ColumnDefinition Width="*"/> 
        </Grid.ColumnDefinitions> 
        <TextBlock Name="TitleCategory" 
            Width="360" 
            TextWrapping="Wrap" 
            Text="{Binding CapitalizedDescription, FallbackValue=CategoryName}" 
            HorizontalAlignment="Left" 
            VerticalAlignment="Center" 
            FontSize="30" 
            Margin="0,10"/> 
        <Image Source="Assets/common/right_grey.png" 
          Width="20" 
          Height="20" 
          Visibility="Visible" 
          HorizontalAlignment="Left" 
          VerticalAlignment="Center" 
          d:LayoutOverrides="Height" 
          Grid.Column="1" 
          Margin="10,0,0,0"/> 
       </Grid> 
      </DataTemplate> 
+0

删除的Win​​Forms标签,它是WPF – Nest

+0

@Nest您可以编辑的问题自己 –

+0

谢谢你们,我已经编辑我的问题。 – GibboK

回答

1

为什么不只是使双方ColumnDefinition WIDTH =“自动”

1

试图改变数据模板,按您的应用需求,

<DataTemplate x:Key="CategoriesUnselectedDataTemplate">  
    <Border Margin="2" Padding="2" BorderThickness="2" CornerRadius="5" Background="#FFFFFFFE"> 
         <WrapPanel Width="185" Height="50"> 

          <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> 
           <TextBlock TextWrapping="Wrap" TextTrimming="WordEllipsis" FontFamily="Arial" FontWeight="Black" FontSize="14" /> 

          </StackPanel> 
          <Image Source="pack://application:,,,/Image/sample.png" Stretch="None" Margin="1,1,5,1"/> 
         </WrapPanel> 
     </Border> 
</DataTemplate> 
1

你可以用TextBlockInlines财产尝试。

更改您的TextBlock XAML到:

<TextBlock 
     Name="TitleCategory" 
     Width="360" 
     HorizontalAlignment="Left" 
     Margin="0,10" 
     VerticalAlignment="Center" 
     FontSize="30" 
     TextWrapping="Wrap"> 
     <TextBlock.Inlines> 
      <Run Text="{Binding CapitalizedDescription, FallbackValue=CategoryName}"/> 
      <Image Source="Assets/common/right_grey.png" 
         Width="20" 
         Height="20" 
         Visibility="Visible" 
         HorizontalAlignment="Left" 
         VerticalAlignment="Center" 
         d:LayoutOverrides="Height" 
         Grid.Column="1" 
         Margin="10,0,0,0"/> 
     </TextBlock.Inlines> 
</TextBlock> 

请注意,只有从WPF 4.0,病房绑定上Run.Text性质的作品。