私は Java 開発者であり、別のチームから Web プロジェクトを継承し、その開発者だけが立ち上げて辞めました。プロジェクトの大部分は Spring、JSP、および jQuery で作成されていますが、Silverlight XAP であるコンポーネントが 1 つあります。
もちろん、プロジェクトは私に渡されたばかりで、すでに生産上の問題が発生しています。私はこれまで C# を一筆も書いたことがありませんでした。この問題をできる限り早く修正しようと奮闘しています。
これは Microsoft VS 2010 (Pro Edition) C# ソリューション プロジェクトであり、XAML ファイルと CS ファイルで構成されるプレゼンテーション層を備えています。修正が必要なコンポーネントは、ユーザーがマシンから 1 つ以上のファイルを選択して「キュー」(リストボックス) に配置できるようにするファイル アップローダーです。次に、ボタンを 1 回クリックするだけで、「キューに入れられた」すべてのファイルがサーバーにアップロードされます。
リストボックスがいつ空になるかを知る必要があります(キューに入れられている/入力されているファイルが0個ある場合)。ListItemControl.xaml
この機能は、それぞれおよびという名前の XAML/CS ファイルのペアによってコードで表されますListItemControl.xaml.cs
。
CS ファイルの先頭は次のとおりです。
namespace silv.Uploader
{
public partial class ListItemControl : UserControl
{
private UserFile UserFile { get { return (UserFile)this.DataContext; } }
public ListItemControl()
{
InitializeComponent();
...
Java の概念を C# のいとこに適用すると (私が聞いたように)、これは myListItemControl
が Microsoft 組み込み型の を拡張する社内クラスのように見えSystem.Windows.Controls.UserControl
ます。さらに、UserFile
アップロードする必要があるファイルまたはファイルのセットを表すプロパティ (別の自家製のタイプであると思います) があること。
最初に、健全性チェックとして:誰かが上記の仮定を確認できますか?!?
まず、Java/Swing ランドでは、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>