WPF 列表框分隔符显示为不同的厚度

2024-01-07

我创建了一个自定义列表框,其中每个项目均由分隔符分隔。但我看到了奇怪的问题。列表项之间的分隔符的厚度不是恒定的。如果我改变列表框的位置,它会改变,如下所示列表框图像 https://i.stack.imgur.com/uKt8n.png.

下面是自定义列表框的源代码。

    <Window x:Class="CustListBox.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:local="clr-namespace:CustListBox"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <local:Manager x:Key="manager"/>
            <Style x:Key="LstStyle" TargetType="{x:Type ListBoxItem}">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="ListBoxItem">
                            <StackPanel>
                                <ContentPresenter/>
                                <Separator Foreground="Gray"/>
                            </StackPanel>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Window.Resources>
        <Grid>
            <ListBox Name="CustListBox" HorizontalContentAlignment="Stretch" ItemsSource="{Binding Source={StaticResource manager}, Path=UserList}" ItemContainerStyle="{Binding Source={StaticResource LstStyle}}" Margin="26,17,271,27">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                           <StackPanel>                            
                                <TextBlock Text="{Binding Path=FirstName}"/>
                                <TextBlock Text="{Binding Path=SecondName}"/>                            
                            </StackPanel>             
                    </DataTemplate>
                </ListBox.ItemTemplate>               
            </ListBox>
            <ListBox Height="278" HorizontalAlignment="Left" Margin="264,16,0,0" Name="listBox1" VerticalAlignment="Top" Width="218" ItemsSource="{Binding Source={StaticResource manager}, Path=Names}" ItemContainerStyle="{Binding Source={StaticResource LstStyle}}"/>
        </Grid>
    </Window>

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace CustListBox
    {
        class Manager : PropertyChangeNotifier
        {
            public List<UserDetails> UserList { get; set; }
            private int myVar;

            public int MyProperty
            {
                get { return myVar; }
                set { myVar = value; }
            }

            public List<string> Names { get; set; }

            public Manager()
            {
                UserList = new List<UserDetails>(5);
                Names = new List<string>();

                UserDetails usrDtls = new UserDetails();
                usrDtls.FirstName = "First Name";
                usrDtls.SecondName = "Second Name";

                UserList.Add(usrDtls);
                UserList.Add(usrDtls);
                UserList.Add(usrDtls);
                UserList.Add(usrDtls);
                UserList.Add(usrDtls);
                UserList.Add(usrDtls);
                UserList.Add(usrDtls);
                UserList.Add(usrDtls);

                Names.Add("Test Name");
                Names.Add("Test Name");
                Names.Add("Test Name");
                Names.Add("Test Name");
                Names.Add("Test Name");
                Names.Add("Test Name");
                Names.Add("Test Name");
                Names.Add("Test Name");
                Names.Add("Test Name");
                Names.Add("Test Name");
            }
        }
    }
namespace CustListBox
{
    class UserDetails
    {
        public string FirstName { get; set; }
        public string SecondName { get; set; }
    }
}

任何帮助将不胜感激。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF 列表框分隔符显示为不同的厚度 的相关文章

随机推荐

  • 如何使用“rails s puma”通过配置文件运行 Rails puma 服务器

    我可以使用以下任一方法在 Rails 中运行 puma 服务器rails s puma要不就puma 根据这个答案 https stackoverflow com a 21218048 2511083 跑步rails s puma使服务器了
  • 改进文本区域检测(OpenCV、Python)

    我正在开发一个项目 要求我检测图像中的文本区域 这是我到目前为止使用下面的代码实现的结果 Original Image Result 代码如下 import cv2 import numpy as np read and scale dow
  • Boost Spirit 解析整数到自定义列表模板

    我在使用 boostspirit 来解析这样的文件时遇到了麻烦 int int int int int int 没什么难的 下面的语法可以做到这一点 template
  • 类型“Observable”中缺少属性“includes”

    我是打字稿新手 我收到此错误 类型 Observable 不可分配给类型 IProduct Observable 类型中缺少属性 includes 我的服务等级是 getProducts Observable
  • 根据经纬度获取K个最近邻

    我有不同点的纬度和经度数据 这是我的数据的简单版本 Add library library tidyverse Generate data distance lt tibble location c first second third l
  • C# 6.0 中表达式主体函数成员的效率和性能

    在新的 C 6 0 中 我们可以使用 lambda 表达式定义方法和属性 例如这个属性 public string Name get return First Last 现在可以定义如下 public string Name gt Firs
  • 在 GitHub Actions 中保存 GITHUB_ENV 变量

    我正在尝试一步保存变量名称 使用date https man7 org linux man pages man1 date 1 html 但是 在后面的步骤中 它似乎是未定义的 或空的 我在这里缺少什么 jobs Create releas
  • 元素类型“META”必须以匹配的结束标记“”终止

    当我尝试使用 Java 在 GAE 服务器内 解析 XML 文件时 有时会出现以下错误 Parse org xml sax SAXParseException lineNumber 10 columnNumber 3 The element
  • Elixir exrm 版本在 edis start_link 上崩溃

    我对 Elixir 相当陌生 这是我尝试使用它发布的第一个应用程序exrm https github com bitwalker exrm 我的应用程序与 Redis 数据库交互 以消耗队列中的作业 使用exq https github c
  • HttpHandler 和会话状态的问题

    我正在尝试设计一个解决方案 该解决方案将模拟 App Offline htm 进行远程访问 但仍允许本地用户测试该网站 我发现了一些我正在尝试的选项 但最好的选项似乎不适用于我们的 ASP NET 2 0 站点 该站点依赖于在所有页面上启用
  • 如果 URL 与 slug 不匹配,则规范链接和 301 重定向

    我正在尝试在 django python 中实现类似于堆栈溢出的 URL 方案 例如 pk 与标题的 slug 一起存储在 URL 中 因此对于这个问题 id 4787731 URL 是 https stackoverflow com qu
  • jQuery fadeIn fadeOut 图像在 Firefox 中相差 1px

    我最近一直在使用 jQuery 实现图像滑块 所以我在 Firefox 中遇到一个问题 即淡入 淡出过渡会将图像的宽度或高度缩短 1 像素 但仅限于效果正在进行时 进度完成后 图像再次具有完整尺寸 找到了 将此样式添加到您的图像中 它将在
  • .NET 装箱/拆箱与转换性能

    我试图从性能角度了解两种解决方案中哪一种更受青睐 例如我有两段代码 1 装箱 拆箱 int val 5 Session key val int val2 int Session key 2 强制转换 IntObj具有int Value属性来
  • 仅在 Web 上启用 Outlook Web 加载项

    我开发了一个基于 Outlook Web 的加载项 为了安装它 我从 OWA 中的 管理加载项 页面添加了清单文件 https msdn microsoft com en us library office fp142256 aspx ht
  • 多重继承的不明确解决方法?

    我有一个名为 动物 的基类 以及继承自 动物 的一只狗和一只猫 还有一个名为dogcat的多重继承类 它继承自dog和cat 在动物中我有一种称为睡眠的方法 当我想使用dogcat的该方法时 我收到错误 DogCat sleep 不明确 我
  • 在 Ubuntu 14.04 上安装 Apache 2.4.7

    我有以下问题 在 Ubuntu 上安装 Apache 2 4 7 我在目录 etc apache2 sites available 中创建了文件
  • 如何将文本与 QTableWidget 中的单元格中心对齐

    我正在使用基于 Qt4 的 PyQt 我的编辑器是 PyCharm 2017 3 我的 python 版本是 3 4 我正在从网站上抓取一些文本 我试图将该文本与 QTableWidget 中单元格的中心对齐 item QTableWidg
  • 结合正则表达式来验证英国和美国的电话号码

    我有两个正则表达式 一个用于验证英国号码 来自我的上一个问题 https stackoverflow com questions 23195191 validate uk phone number including its area co
  • 连续对数算术:游程编码项上的取整运算符

    我正在尝试在 Bill Gosper 上实现基本算术连续对数 https perl plover com yak cftalk INFO gosper txt 它们是连分数的 变异 允许术语协同例程发出和消耗非常小的消息 即使是非常大或非常
  • WPF 列表框分隔符显示为不同的厚度

    我创建了一个自定义列表框 其中每个项目均由分隔符分隔 但我看到了奇怪的问题 列表项之间的分隔符的厚度不是恒定的 如果我改变列表框的位置 它会改变 如下所示列表框图像 https i stack imgur com uKt8n png 下面是