相关疑难解决方法(0)

WPF:ContentPresenter上的TextTrimming

有没有一种简单的方法可以让TextTrimming与ContentPresenter一起使用?

我已经将TextBlock和AccessText的样式设置为将TextTrimming设置为CharacterEllipsis,但是ContentPresenter没有选择它.我可以将ContentPresenter更改为AccessText或TextBlock并将其设置在那里,但模板只处理文本内容.

有什么建议?

谢谢!

.net c# wpf contentpresenter texttrimming

9
推荐指数
2
解决办法
3755
查看次数

WPF DataGrid:如何将列设置为TextWrap?

我不确定为什么我的代码没有正确地进行TextWrapping.它没有包装Description列的文本(这就是我想要的).它只是削减它,它甚至不使用"..."让我知道有更多的数据.

我尝试使用我在网上找到的这个代码来完成这项工作,但它没有用.理想情况下,我希望能够只将TextWrap设置为某些列,而不是一般地跨所有DataGridCell对象.

哦,请注意我使用的是Microsoft.NET 4,因此这是通过它提供的DataGrid,而不是来自WPF Toolkit.

<DataGrid Name="TestGrid" Grid.Row="2" Grid.ColumnSpan="2" AutoGenerateColumns="False" ItemsSource="{Binding IntTypes}" SelectedValue="{Binding CurrentIntType}">
 <DataGrid.Resources>
  <Style TargetType="{x:Type DataGridCell}">
   <Setter Property="Template">
    <Setter.Value>
     <ControlTemplate TargetType="{x:Type DataGridCell}">
      <Border Name="DataGridCellBorder">
       <TextBlock Background="Transparent" TextWrapping="WrapWithOverflow" TextTrimming="CharacterEllipsis" Height="auto" Width="auto">
        <ContentPresenter Content="{TemplateBinding Property=ContentControl.Content}"  ContentTemplate="{TemplateBinding Property=ContentControl.Content}" />
       </TextBlock>
      </Border>
     </ControlTemplate>
    </Setter.Value>
   </Setter>
  </Style>
 </DataGrid.Resources>
 <DataGrid.Columns>
  <DataGridTextColumn Header="ID" Binding="{Binding ID}" IsReadOnly="True" />
  <DataGridTextColumn Header="Interested Parties Description" Binding="{Binding Description}" IsReadOnly="False"  />
 </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

wpf datagrid word-wrap

4
推荐指数
1
解决办法
8019
查看次数

标签 统计

wpf ×2

.net ×1

c# ×1

contentpresenter ×1

datagrid ×1

texttrimming ×1

word-wrap ×1