C# 计划程序控件创建后台

C# 计划程序控件创建后台,c#,wpf,performance,scheduler,C#,Wpf,Performance,Scheduler,我正在尝试创建一个用户控件,在该控件下,我可以显示计划到特定地点和日期的游戏。place/day控件只不过是一个垂直方向的StackPanel,分为5分钟的插槽 每15分钟后,一刻钟向devide添加一个边框。如图所示: 什么是最好和最有效的方法来绘制背景-白色和浅灰色元素和边框?目前在代码隐藏中,我绑定到控件的已加载事件,在该事件中我添加了三个矩形(白色和浅灰色)和一个边框元素 我只是想说清楚。一个视图中可能有50多个控件。在这一点上,性能成为一个问题,我不确定我的方式是最好的还是最适合的 任

我正在尝试创建一个用户控件,在该控件下,我可以显示计划到特定地点和日期的游戏。place/day控件只不过是一个垂直方向的StackPanel,分为5分钟的插槽

每15分钟后,一刻钟向devide添加一个边框。如图所示:

什么是最好和最有效的方法来绘制背景-白色和浅灰色元素和边框?目前在代码隐藏中,我绑定到控件的已加载事件,在该事件中我添加了三个矩形(白色和浅灰色)和一个边框元素

我只是想说清楚。一个视图中可能有50多个控件。在这一点上,性能成为一个问题,我不确定我的方式是最好的还是最适合的

任何帮助或起点都将不胜感激。因为我现在开始开发这个,如果需要的话,可以完全不同于现在

编辑:按照注释中的说明应用更改

这就是我到目前为止所做的:

<ItemsControl ItemsSource="{Binding}" x:Name="TheControl">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Vertical" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Rectangle Height="12">
                <Rectangle.Style>
                    <Style TargetType="Rectangle">
                        <Style.Triggers>
                        </Style.Triggers>
                    </Style>
                </Rectangle.Style>
            </Rectangle>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
问题:

我如何管理它,在每第三个元素之后应该添加一个边框 如何通过触发器将颜色设置为白色、白色、灰色、白色、白色、灰色等?
50控件不应导致任何性能问题。在您开始之前,您应该阅读有关MVVM设计模式的内容,而不是在代码隐藏中这样做!同意。WPF与代码隐藏无关。这是关于XAML和数据绑定的。这里您需要的是一个ItemsControl和一个适当的数据模型,您可以将其放入一个ObservableCollection中。我已经在使用MVVM了。但是如何在ViewModel中进行渲染以使其更具性能呢@FlatEric:目前超过50个元素会导致性能问题。请阅读控制虚拟化。您不需要实际绘制窗口中的每个控件。UI虚拟化只实例化屏幕上的控件。此外,您不应该在MVVM中使用加载的事件。