私はC#/ WPFプログラムで作業しており、2つのテキストボックス(およびグリッド)で構成されるユーザーコントロールを作成しました。Listboxはアイテムのすべてのコンテンツを表示できません
メインウィンドウにリストボックスがあります。そのアイテムのソースは、私のリムーバブルユーザコントロールのコレクションに設定されています。私はそれを埋めると、それは私がそれを望むように20項目を保持し、すべての項目がそれにテキストを持ってプログラムをデバッグします。しかし、メインウィンドウがロードされた後(そしてリストボックスがいっぱいになった)、すべてのアイテムが表示されますが、そのうち9つだけがテキスト付きのテキストボックスを持っています。他のテキストボックスには、テキストのないテキストボックスがあります。
これにはどのような理由が考えられますか?
更新:ここにコードがあります。
ユーザーコントロール:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBox x:Name="NumberColumn" x:FieldModifier="public" Text="{Binding LineNumber}"
Grid.Column="0" HorizontalAlignment="Right" />
<TextBox x:Name="TextColumn" x:FieldModifier="public" Text="{Binding Text}"
Grid.Column="1" HorizontalAlignment="Left" />
</Grid>
リストボックスの充填:
string line;
Collection<CustomLine> lines = new Collection<CustomLine>();
StreamReader reader = new StreamReader(@"2008.sln");
while ((line = reader.ReadLine()) != null)
{
CustomLine myLine = new CustomLine(line, lines.Count + 1);
lines.Add(myLine);
}
this.leftListBox.ItemsSource = lines;
リストボックスのXAML:
<ListBox x:Name="leftListBox" Grid.Column="0" Margin="10"
MouseDown="leftListBox_MouseDown" SelectionChanged="leftListBox_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<UserControl>
<local:CustomLine />
</UserControl>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
コードの別の部分が使用される可能性がある場合私は後でそれを追加することもできます。
で
UserControl
を削除してください。それを分かち合うと、答えはより具体的になります。 – Nuffin私もそれについて考えました。しかし、私はここに貼り付けるコードの部分が不明でした。元の投稿を更新しました。 – Sentropie