RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1592875
Accepted
Chaos_Sower
Chaos_Sower
Asked:2024-09-05 06:27:25 +0000 UTC2024-09-05 06:27:25 +0000 UTC 2024-09-05 06:27:25 +0000 UTC

DataGrid 中的单元格对齐方式不正确

  • 772

有一种风格HorizontallyCenteredCellStyle:

<Style x:Key="HorizontallyCenteredCellStyle" TargetType="DataGridCell">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="DataGridCell">
                <Grid Background="{TemplateBinding Background}">
                    <ContentPresenter HorizontalAlignment="Center"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

风格LeftAlignedCellStyle:

<Style x:Key="LeftAlignedCellStyle" TargetType="DataGridCell" BasedOn="{StaticResource HorizontallyCenteredCellStyle}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="DataGridCell">
                <Grid Background="{TemplateBinding Background}">
                    <ContentPresenter HorizontalAlignment="Left"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
     </Setter>
</Style>

DataGrid还有从数据库加载数据的Xaml 标记:

<DataGrid x:Name="ObserveContactsPageDataGrid" Grid.Row="1" AutoGenerateColumns="False" IsReadOnly="True">
    
    <DataGrid.ColumnHeaderStyle>
        <Style TargetType="DataGridColumnHeader" BasedOn="{StaticResource HorizontallyCenteredHeaderStyle}"/>
    </DataGrid.ColumnHeaderStyle>
    
    <DataGrid.CellStyle>
        <Style TargetType="DataGridCell" BasedOn="{StaticResource HorizontallyCenteredCellStyle}"/>
    </DataGrid.CellStyle>
    
    <DataGrid.Columns>
        <DataGridTextColumn Header="№" Binding="{Binding ID}" Width="Auto"/>
        <DataGridTextColumn Header="Номер телефона" Binding="{Binding PhoneNumber}" Width="Auto"/>
        <DataGridTextColumn Header="Тип телефона" Binding="{Binding PhoneType}" Width="Auto"/>
        <DataGridTextColumn Header="Имя" Binding="{Binding Name}" CellStyle="{StaticResource LeftAlignedCellStyle}" Width="100"/>
        <DataGridTextColumn Header="Фамилия" Binding="{Binding Surname}" CellStyle="{StaticResource LeftAlignedCellStyle}" Width="100"/>
        <DataGridTextColumn Header="Отчество" Binding="{Binding Patronymic}" Width="Auto"/>
        <DataGridTextColumn Header="Пол" Binding="{Binding Sex}" Width="Auto"/>
    </DataGrid.Columns>
    
</DataGrid>

数据单元格与原始代码正确对齐: DataGrid 中数据的正确显示

但是,一旦取消“名字”和“姓氏”列单元格的左对齐,文本就会立即开始移动:

<!-- Стиль выравнивания влево убран -->
<DataGridTextColumn Header="Имя" Binding="{Binding Name}" Width="100"/>
<DataGridTextColumn Header="Фамилия" Binding="{Binding Surname}" Width="100"/>

DataGrid 中的数据显示不正确

尽管它应该与中心对齐,就像其他扬声器(成功地)发生的那样。

为什么这种情况只发生在这些扬声器上?这和什么有关系呢?

wpf
  • 1 1 个回答
  • 39 Views

1 个回答

  • Voted
  1. Best Answer
    Chaos_Sower
    2024-09-05T18:41:54Z2024-09-05T18:41:54Z

    答:原来是插入数据库的数据有错误——需要检查其正确性。

    更多详情:

    由于某种原因,数据被插入到“名字”和“姓氏”字段中,单词后有一堆空格,字段旁边的省略号证明了这一点:

    记录格式不正确

    显示格式错误的条目

    结论:需要通过调试来检查数据的正确性。对我有帮助的是手动创建条目,如下所示:

    object[][] ContactsInfo =
    [
        [ 1, "+7 (917) 363-53-08", "Рабочий", "Анна", "Ильюшина", "Васильевна", '?' ],
        [ 2, "+7 (915) 223-33-63", "Мобильный", "Кирилл", "Андреев", "—", '?' ],
        [ 3, "+7 (929) 148-02-58", "Мобильный", "Денис", "Никитин", "Прокофьевич", '?' ]
        /* Остальные записи */        
    ];
    

    然后我简单地将这些数据添加到List<T>,将该列表与从数据库加载的数据列表合并,并将其添加到ObserveContactsPageDataGrid.ItemsSource。

    结果如下: DataGrid 中的组合数据输出

    有问题的条目 5 刚刚可见(姓氏 - Gorin)

    • 0

相关问题

  • WPF 数据网格,DataGridCheckBoxColumn 单元格依赖于 DataGridComboBoxColumn

  • 基于数据的 WPF ItemsControl 模板

  • 转换器的问题

  • 在哪里可以查看可在 XAML 中使用的所有可用 WIRED 命名空间?

  • MVVM 数据收集的问题

  • 按钮样式。WPF

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5