ListBox
WPFフォームを使用しています。文字列項目の一覧を横に表示したいのですが。私は自分のコントロールGrid
を保持するを持っています。ListBox
フォームを実行すると、カプセル化オブジェクトの名前が表示されます:その中の文字列オブジェクトの代わりにProjectName.Folder.Category 。
ViewModelLocator
public CategoryViewModel CategoryViewModel
{
get
{
if (categoryviewModel == null)
{
categoryviewModel = new CategoryViewModel();
categoryviewModel.ListData.Clear();
categoryviewModel.ListData.Add(new Category { MyCategory = "new categroy1" });
categoryviewModel.ListData.Add(new Category { MyCategory = "new categroy2" });
categoryviewModel.ListData.Add(new Category { MyCategory = "new categroy3" });
categoryviewModel.ListData.Add(new Category { MyCategory = "new categroy4" });
categoryviewModel.ListData.Add(new Category { MyCategory = "new categroy5" });
categoryviewModel.ListData.Add(new Category { MyCategory = "new categroy6" });
}
return categoryviewModel;
}
}
Model
class Category
{
public String MyCategory { get; set; }
}
MainPage.xaml
<Grid>
<my:featureControl HorizontalAlignment="Left"
x:Name="featureControl1"
VerticalAlignment="Top" Height="332"
Loaded="featureControl1_Loaded" />
</Grid>
Control.xaml
<UserControl x:Class="AmebaPrototype.UI.Longlist.CategoryControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="1280">
<Grid DataContext="{Binding Source={StaticResource viewModelLocator},Path=CategoryViewModel}">
<ListBox Height="300" HorizontalAlignment="Left" Name="listBox1" VerticalAlignment="Top" Width="1280" ItemsSource="{Binding ListData}" >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</Grid>