如何在Expression Blend中添加自定义控件?

时间:2011-08-13 12:17:36

标签: c# custom-controls expression-blend

我使用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;
}

当我使用表达式混合创建表单时,我无法使用上述方法向表单添加控件。通过

    this.Controls.Add(**)
有人可以让我知道如何完成这项任务! 非常感谢。

1 个答案:

答案 0 :(得分:1)

您的第一个代码示例看起来像Windows.Forms应用程序,但Expression Blend会创建WPF应用程序。因此没有this.Controls - 枚举。您应该将控件添加到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);
}
...