Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Expression Blend中添加自定义控件?_C#_Custom Controls_Expression Blend - Fatal编程技术网

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

C# 如何在Expression Blend中添加自定义控件?,c#,custom-controls,expression-blend,C#,Custom Controls,Expression Blend,我使用Expression Blend创建了一个表单。早些时候,当我在Visual Studio中创建一个控件时,我可以使用Controls.add()添加自定义控件。一个例子如下 Using SriClocks; //////////////////////Blah blah public Form1() { InitializeComponent(); SriClocks.DigitalClockCtrl clk = new DigitalClockCtrl(); c

我使用
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;
}
当我使用expression blend创建表单时,我不能使用上述方法向表单添加控件。通过此.Controls.Add(**) this.Controls.Add(**) 有人能告诉我如何完成这项任务吗!
非常感谢。

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

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>

非常感谢你的建议。我认为这是处理这个问题的正确方法。当我按照您提到的方式尝试时,编译器给出了一个错误,指出this.grid.Children.Add(***)中的***应该是UIElement!!!那么,如何使时钟成为UIElement?@silverfall-如果您无法访问时钟代码,则需要WindowsFormsHost:。如果这解决了你的问题,请接受我的回答:)
...
public Class1()
{
    InitializeComponent();
    SriClocks.DigitalClockCtrl clk = new DigitalClockCtrl { Size = new Size(500,150) };
    this.grid.Children.Add(clk);
}
...