第一写产生的项目阵列从给定数量的转换器:
public class NumberToItemsConverter : IValueConverter {
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
return Enumerable.Range(1, System.Convert.ToInt32(value));
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
throw new NotImplementedException();
}
}
然后使用项控制:
<ItemsControl ItemsSource="{Binding Value, Converter={StaticResource numToItems}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel IsItemsHost="True" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle Height="100"
Width="20"
Margin="5,0,5,0"
Fill="Red" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
来源
2017-06-22 19:19:40
Evk
为什么downvote?为什么不给予反馈,以便我能够改善内容不满意的问题? –
添加5个矩形,将它们的可见性绑定到stat值,并在绑定中使用'ValueConverter'使其可见,如果该值大于或等于该框的值。 –
如果这些统计数据超过5,你会意识到这是行不通的,对吧?这就是为什么它在一个WrapPanel开始,自动定位水平和垂直取决于有多少... –