それで、私は最終的に WinForms から WPF に移行することに決めました。私は非常に興味深い旅をしています。を にバインドする単純なアプリケーションがありObservableCollection
ますListBox
。
私はAnimal
エンティティを持っています:
namespace MyTestApp
{
public class Animal
{
public string animalName;
public string species;
public Animal()
{
}
public string AnimalName { get { return animalName; } set { animalName = value; } }
public string Species { get { return species; } set { species = value; } }
}
}
そしてAnimalList
エンティティ:
namespace MyTestApp
{
public class AnimalList : ObservableCollection<Animal>
{
public AnimalList() : base()
{
}
}
}
そして最後に、これが私のメインウィンドウです:
<Window x:Class="MyTestApp.Window3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyTestApp"
Title="Window3" Height="478" Width="563">
<Window.Resources>
<local:AnimalList x:Key="animalList">
<local:Animal AnimalName="Dog" Species="Dog"/>
<local:Animal AnimalName="Wolf" Species="Dog"/>
<local:Animal AnimalName="Cat" Species="Cat"/>
</local:AnimalList>
</Window.Resources>
<Grid>
<StackPanel Orientation="Vertical" Margin="10,0,0,0">
<TextBlock FontWeight="ExtraBold">List of Animals</TextBlock>
<ListBox ItemsSource="{Binding Source={StaticResource animalList}, Path=AnimalName}"></ListBox>
</StackPanel>
</Grid>
アプリケーションを実行すると、リストボックスに "Dog"、"Wolf"、"Cat" の代わりに "D"、"o"、"g" の 3 つの項目が表示されます。
私はどこかで何か愚かなことをしているような気がします (AnimalList コンストラクターでしょうか?) が、それが何なのかわかりません。どんな助けでも大歓迎です。