【问题标题】:Wrapping Text in GridView without using TextBoxes?在不使用 TextBoxes 的情况下在 GridView 中包装文本?
【发布时间】:2017-10-24 13:01:16
【问题描述】:

我正在开发一个在ListView 中显示数据库内容的 wpf 窗口。它现在可以正常工作,但有一个问题 - 文本不换行。我发现的大多数类似已解决问题都建议使用带有 Wrap 选项的TextBox 并将内容放在那里,但我想知道是否可以不使用它。这是我的代码:

<ListView Name="ListViewItem" ClipToBounds="True" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" SizeChanged="ListView_SizeChanged" Loaded="ListView_Loaded" TextOptions.TextHintingMode="Animated">
    <ListView.View>
        <GridView AllowsColumnReorder="False">
            <GridViewColumn Header="Company Name" DisplayMemberBinding="{Binding CompanyName}" Width="150"/>
            <GridViewColumn Header="Company Address" DisplayMemberBinding="{Binding CompanyAddress}" Width="350"/>
            <GridViewColumn Header="Company Email" DisplayMemberBinding="{Binding CompanyEmail}" Width="250"/>
            <GridViewColumn Header="Company Phone" DisplayMemberBinding="{Binding CompanyPhone}" Width="150"/>
            <GridViewColumn Header="Company NIP" DisplayMemberBinding="{Binding CompanyNIP}" Width="150"/>
            <GridViewColumn Header="Delete" Width="50">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="DeleteGroup" Content="Delete" Click="DeleteGroup_Click" HorizontalContentAlignment="Center" VerticalContentAlignment="Stretch" BorderBrush="#FF9B5F5F" MinWidth="36" MinHeight="12" FontSize="8" HorizontalAlignment="Center" FontWeight="Bold">
                            <Button.OpacityMask>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="Black" Offset="0"/>
                                    <GradientStop Color="#FFBF2121" Offset="1"/>
                                </LinearGradientBrush>
                            </Button.OpacityMask>
                        </Button>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

这就是现在发生的事情。 CompanyName 最后一行的长“aaaaa...”值刚刚被截断。

【问题讨论】:

    标签: c# xml wpf


    【解决方案1】:

    使用CellTemplate

    <GridViewColumn Header="Company Name" Width="150">
        <GridViewColumn.CellTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding CompanyName}" TextWrapping="Wrap" />
            </DataTemplate>
        </GridViewColumn.CellTemplate>
    </GridViewColumn>
    

    【讨论】:

      猜你喜欢
      • 2010-09-25
      • 2020-07-30
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      相关资源
      最近更新 更多