如何在表达式混合中添加自定义控件

本文关键字:添加 自定义控件 混合 表达式 | 更新日期: 2023-09-27 18:05:22

我有一个使用Expression Blend创建的表单。早些时候,当我在Visual Studio中创建一个控件时,我可以使用Controls.Add()添加自定义控件。示例如下:

Using SriClocks;
//////////////////////Blah blah
public Form1()
{
    InitializeComponent();
    SriClocks.DigitalClockCtrl clk = new DigitalClockCtrl();
    clk.Size = new Size(500, 150);
    clk.Show();
    this.Controls.Add(clk);
    clk.SetDigitalColor = DigitalColor.GreenColor;
}

当我使用表达式混合创建表单时,我不能使用上面的方法向表单添加控件。by

 this.Controls.Add(**)
有人能让我知道如何实现这个任务!非常感谢。

如何在表达式混合中添加自定义控件

您的第一个代码示例看起来像Windows。表单应用程序,但Expression Blend创建WPF应用程序。因此不存在this.Controls -Enumeration。您应该将控件添加到Grid(或您使用的任何其他容器),如

Class1.xaml

<Window x:Class="Class1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="About" Height="300" Width="350" ResizeMode="NoResize">
    <Grid x:Name="grid" />
</Window>

Class1.xaml.cs

...
public Class1()
{
    InitializeComponent();
    SriClocks.DigitalClockCtrl clk = new DigitalClockCtrl { Size = new Size(500,150) };
    this.grid.Children.Add(clk);
}
...