gpt4 book ai didi

C#:System.Windows.Controls.UserControl 作为列表框

转载 作者:行者123 更新时间:2023-11-30 22:29:25 26 4
gpt4 key购买 nike

我是一名 Java 开发人员,他从另一个团队继承了一个 Web 项目,而这个团队的唯一开发人员升级并退出了。该项目的大部分内容是用 Spring、JSP 和 jQuery 编写的,但是有一个组件是 Silverlight XAP。

当然,这个项目刚刚交给我,我们已经遇到了生产问题。我以前从未写过一点 C#,现在正忙着尝试尽可能快地修复这个问题。

这是一个Microsoft VS 2010 (Pro Edition) C# 解决方案项目,具有由XAML 和CS 文件组成的表示层。需要修复的组件是一个文件 uploader ,它允许用户从他们的机器上选择 1+ 个文件并将它们放入“队列”(列表框)中。然后,只需单击一个按钮,所有“排队”的文件就会上传到我们的服务器。

我需要能够判断列表框何时为空(当有 0 个文件排队/填充时)。此功能在代码中由一对分别名为 ListItemControl.xamlListItemControl.xaml.cs 的 XAML/CS 文件表示。

这是 CS 文件的开头:

namespace silv.Uploader
{
public partial class ListItemControl : UserControl
{
private UserFile UserFile { get { return (UserFile)this.DataContext; } }

public ListItemControl()
{
InitializeComponent();

...

将 Java 概念应用于它的 C# 表亲(正如我所知),这看起来像我的 ListItemControl 是一个扩展 Microsoft 内置类型 System 的内部类。 Windows.Controls.UserControl。此外,它还有一个 UserFile 属性(我假设它是另一种自行开发的类型)代表需要上传的一个文件或一组文件。

因此,首先,作为完整性检查:有人可以确认上述假设吗?!?

首先,在 Java/Swing-land 中,您将实例化或子类化 JList(列表框)类型,它具有内置方法/模型来确定在任何时候填充它的项目数量给定的时间。

C# 领域中的 ListItemControl/UserControl 是什么?

在这个 CS 文件中,我没有看到任何确定数据大小/长度/数量的方法。当我按 F12(转到定义)UserControl 时也是如此。

基本上,我在这里问的是:如何查询此列表框组件以获取其中填充的项目数?在此先感谢您在正确方向上的任何插入...

编辑:下面是我相信负责初始化此列表框的 XAML 片段:

<ScrollViewer Grid.Row="1" x:Name="svFiles" IsEnabled="True"     ScrollViewer.VerticalScrollBarVisibility="Visible" Margin="0,1,18,252">
<StackPanel x:Name="stkMain" Orientation="Vertical" VerticalAlignment="Stretch">
<ItemsControl x:Name="icFiles" KeyUp="ScrollViewer_KeyUp" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:ListItemControl ScrollViewer.VerticalScrollBarVisibility="Visible" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ScrollViewer>

最佳答案

更新后的代码片段似乎是 XAML 的正确部分 - 您拥有 ItemsControl,它是用于呈现项目集合的通用转发器控件。我仍然看不到添加项目的位置,但这可能在代码中的其他地方。

但是,由于为 ItemsControl 指定了名称,因此您可以访问它:

ItemCollection items = icFiles.Items;
int count = items.Count;

您究竟想在哪里访问队列长度?这需要位于定义 ItemsControl 的窗口的代码隐藏中。

关于C#:System.Windows.Controls.UserControl 作为列表框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10226121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com