【发布时间】:2014-04-14 23:37:19
【问题描述】:
我想在我的 mvvm 应用程序的主窗口中添加一组矩形。在我的 viewModel 中,我有一个对象集合,我使用转换器将它们转换为 System.Windows.Shapes.Rectangle 类(代码如下):
视图模型:
RecognizedValueViewModel
{
public ObservableCollection<BarcodeElement> BarcodeElements
{
get { return _BarcodeElements; }
set { _BarcodeElements = value; }
}
public RecognizedValueViewModel()
{
BarcodeElements = InitializeBarcodeElements();
}
}
转换器:
public BarcodeElementToRectangleConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Rectangle barcodeRectangle = GetRectangleFromBarcodeElement(value as BarcodeElement);
return barcodeRectangle;
}
}
矩形应该显示在我的 MainWindow 的画布中:
<Canvas x:Name="Canvas_Image_Main">
<!-- Show rectangles here -->
</Canvas>
我会在代码中将矩形添加到画布,但我现在不知道运行时有多少个矩形。有没有办法我可以做到这一点?坦克你。
【问题讨论】:
标签: c# wpf user-interface canvas mvvm