【发布时间】:2017-01-29 15:40:17
【问题描述】:
这个问题是关于 WPF 中 XAML 的布局。我有一个特定的布局要遵循。 ListBoxItems 计数告诉它将显示多少图像。图像来自具有属性数据和文本的集合列表。每个图像上面都有绑定到文本的文本。数据保存图像源/路径值。这可能是动态值,但对于此示例列表。
一个 | BC | D E | F G |嗨 | Ĵ 苹果 |男孩猫 |狗蛋 |范山羊 |母鸡冰 |果冻此处的 Apple 和 Boy 以及其他名称是图像。我的主要问题是如何才能拥有这种布局。我需要将它按 2 个图像(如 A 和 B)进行分组,但用 | 分隔(分隔块图像)。 每行最多显示 5 对图像。下一组图像将放在下一行。
我目前的测试代码:
` 公共类视图模型 { 公共字符串文本 { 获取;放; } 公共字符串文件路径 { 获取;放; } } /// /// MainWindow.xaml 的交互逻辑 /// 公共部分类 MainWindow : 窗口 { 公共主窗口() { 初始化组件(); 列表列表项 = 新列表(); listItems.Add(new ViewModel() { Text = "A", Data = "ListBoxTest;component/Images/Apple.png" }); listItems.Add(new ViewModel() { Text = "B", Data = "ListBoxTest;component/Images/Boy.png" }); listItems.Add(new ViewModel() { Text = "C", Data = "ListBoxTest;component/Images/Cat.png" }); listItems.Add(new ViewModel() { Text = "D", Data = "ListBoxTest;component/Images/Dog.png" }); listItems.Add(new ViewModel() { Text = "E", Data = "ListBoxTest;component/Images/Egg.png" }); listItems.Add(new ViewModel() { Text = "F", Data = "ListBoxTest;component/Images/Fan.png" }); listItems.Add(new ViewModel() { Text = "G", Data = "ListBoxTest;component/Images/Goat.png" }); listItems.Add(new ViewModel() { Text = "H", Data = "ListBoxTest;component/Images/Hen.png" }); listItems.Add(new ViewModel() { Text = "I", Data = "ListBoxTest;component/Images/Ice.png" }); listItems.Add(new ViewModel() { Text = "J", Data = "ListBoxTest;component/Images/Jelly.png" }); myListBox.ItemsSource = listItems; } }<Style x:Key="listBoxItemStyle"
TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<Grid>
<TextBlock Text="{Binding Text}" Margin="30" />
<Image Name="pumpImage"
Source="{Binding Data}"
Width="100"
Height="100" />
</Grid>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
请分享您对如何实现这一目标的想法或想法。谢谢。
【问题讨论】:
标签: wpf listbox controltemplate listboxitem