ListBox に少し問題があります。コードでアイテムを追加すると、次のようになります。
ListBox1.Items.Add(new MyData());
<ListBox Name="ListBox1" Height="Auto"
Style="{DynamicResource MyListBoxStyle}"/>
ListBox には何も表示されませんが、Items には追加した多数の項目が含まれています。
しかし、アイテムを XAML と c# に直接配置すると、MyData が正しく表示されます。
ListBox1.Items.Add(new MyData());
<ListBox Name="ListBox1" Height="Auto"
Style="{DynamicResource MyListBoxStyle}">
<data:MyData/>
</ListBox>
XAML にアイテムを配置しないと正しく表示されない理由と、それを修正する方法を知っている人はいますか?
前もって感謝します :)
[解決しよう] 項目を追加すると、ListBox が既に表示されていました。したがって、この問題を解決するには、レイアウトを更新して、ItemSource が変更されたことを通知するように依頼するだけです。
ListBox1.UpdateLayout();