2 添加一个控件

在主窗口的文件上方按此顺序添加这两个文件。

MyControl.xaml

<UserControl
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             mc:Ignorable="d" Height="50" Width="150">
    <Canvas Background="LightGreen">
        <Button Name="btnMyTest" Content="My Test" Canvas.Left="10" Canvas.Top="10" Height="28" Width="106"/>
    </Canvas>
</UserControl>

MyControl.xaml.fs

namespace FirstDemo

type MyControlXaml = FsXaml.XAML<"MyControl.xaml">

type MyControl() =
    inherit MyControlXaml()

生成操作MyControl.xaml 必须设置为资源

你当然需要在 MyControl 的声明中添加 as this,就像对主窗口一样。

在文件 MainWindow.xaml.fs 中,在 MainWindow 的类中,添加此行

let myControl = MyControl()

并在主窗口类的 do -section 中添加这两行。

    this.mainCanvas.Children.Add myControl |> ignore
    myControl.btnMyTest.Content <- "We're in business!"

一个类中可以有多个 do- section,并且在编写大量代码隐藏代码时可能需要它。

该控件具有浅绿色背景色,因此你可以轻松查看它的位置。

请注意,控件将阻止主窗口的按钮进行查看。一般来说,教你 WPF 超出了这些例子的范围,所以我们不会在这里修复它。