我是XAML/Wpf表格的新手,所以也许这个项目有点超出我的能力。我想制作一个调度程序,它基本上为表单添加了一堆“作业”,每个人都有它自己的功能,例如点击事件等,但大多数情况下它们都是具有背景和设置大小的标签。使用WPF/XAML添加动态控件到表格
下面是我想要的东西,我在Winforms中做了(删除了数据),但是它添加到表单非常慢。我希望用xaml进行某种数据绑定和用户控制可以帮助我。
将会有大量的这些工作,最好我想每一行可能是它自己的用户控件或每个部分(这里标示为装配单元)。
我有一些能够将作业放到窗口上的代码,但没有用户控件,也没有行或部分标签。它看起来像这样的XAML:
<Window.Resources>
<DataTemplate x:Key="Job">
<Label Content="{Binding}" Height ="100" Width="100" BorderThickness="1" BorderBrush="Black"/>
</DataTemplate>
<DataTemplate x:Key="wrkCenterPanel">
<ItemsControl ItemsSource="{Binding}" ItemTemplate="{DynamicResource job}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" Width="Auto" Height="Auto" >
</StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>
</Window.Resources>
...
<Label Grid.Row="0" Grid.Column="0" Content="Production Scheduler" Width="Auto" Height="Auto" FontSize="40" FontWeight="Bold" HorizontalAlignment="Center" />
<ScrollViewer Grid.Row="1" Grid.Column="0" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto">
<ItemsControl x:Name="sched" ItemTemplate="{DynamicResource wrkCenterPanel}" />
</ScrollViewer>
在代码中,我只是有一个表(表(串))和我说的每一行作为一个新的字符串列表,然后将其绑定到章附表。这是否是正确的方向?任何帮助都将不胜感激。
CLR对象是否有新的用户控件?或类? – Loogawa 2013-04-23 13:58:32
另外我如何使它可以从类型ViewModel继承? – Loogawa 2013-04-23 13:59:57
CLR对象(ViewModels)是类。如果DataTemplates变得复杂,可以使用UseControls而不是在DataTemplate中定义VisualTree(可视化树就是UserControl)。我使用了一个假设的ViewModel基类,但是有几个实现--Prim有一个NotificationObject,并且有几个MVVM框架可以用于他们自己的实现。 [MVVM上的Wiki文章](http://en.wikipedia.org/wiki/Model_View_ViewModel)也有几个参考文献可以帮助您开始。 – 2013-04-23 14:16:22