お世話になっております。
行いたいこと
・PersonクラスのプロパティにはName(名前)とSex(性別)があります。
・ユーザーコントロールが2種類あります。
・ManUserControl (Person Sexプロパティが男のときに表示するUC)
・WomanUserControl (Person Sexプロパティが女のときに表示するUC)
ObservableCollection<Person> Personsに複数個追加します。
ListBoxにPersonsをバインドさせて、PersonのSexプロパティによって表示するユーザーコントロールを切り替えたいと思っています。
DataTriggerなど試してみましたが、コンパイルが通りませんでした。
方法をご存知の方、教示お願い致します。
コード
C#
1public class Person 2{ 3 public string Name { get; set; } 4 public string Sex { get; set; } 5 6 public Person(string name, string sex) 7 { 8 Name = name; 9 Sex = sex; 10 } 11} 12 13public ObservableCollection<Person> Persons { get; set; } = new ObservableCollection<Person>() 14{ 15 new Person("太郎", "男"), 16 new Person("花子", "女"), 17 new Person("洋子", "女"), 18 new Person("次郎", "男") 19};
XAML
1<ListBox ItemsSource="{Binding Persons}"> 2 <ListBox.ItemTemplate> 3 <DataTemplate> 4 5 <!-- 性別が男の場合:MenUserControl、性別が女の場合:WormanUserControlを表示させたい--> 6 7 </DataTemplate> 8 </ListBox.ItemTemplate> 9 10 <ListBox.ItemsPanel> 11 <ItemsPanelTemplate> 12 <StackPanel /> 13 </ItemsPanelTemplate> 14 </ListBox.ItemsPanel> 15</ListBox>
環境
VS2017 Pro, WPF, .NET F/W 4.5.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/07 00:13