2014-03-25 26 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性質的作品。