在 Excel 加载项 (VB) 的用户控件中动态加载 XAML

Dinamically load XAML in UserControl for Excel Add In (VB)

我正在开发一个 Excel 加载项,我打算在其中将 XAML canvas 动态加载到 WPF UserControl。 下面的代码在完整的 WPF 模板中运行良好...

Imports Microsoft.Win32
Imports System.IO
Class MainWindow

    Private Sub btnLoadXAML_Click(sender As Object, e As RoutedEventArgs)

        Try
            Dim FlDialog As OpenFileDialog = New OpenFileDialog()
            FlDialog.ShowDialog()

            Dim lFlName As String = FlDialog.FileName

            'load selected file
            Dim fs As FileStream = New FileStream(lFlName, FileMode.Open)

            Dim gridToLoad As New Canvas
            With gridToLoad
                .Height = 300
                .Width = 300
            End With

            gridToLoad = System.Windows.Markup.XamlReader.Load(fs)
            grdLoadXAML.Children.Add(gridToLoad)

            fs.Close()


        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

End Class

...但是当我在 Excel Add In 模板上使用它时,我无法通过 VB 代码引用 XAML 对象,例如:

 Dim gridToLoad As New Canvas

我的意思是 "New Canvas" 似乎没有 "imported" 这种模板。我找不到要引用哪个库来完成这项工作。

提前致谢。

对不起, 在我尝试构建项目几分钟后,Visual Basic 本身就给了我答案! 只需为 System.Xaml 添加参考(愚蠢!)。 不管怎么说,还是要谢谢你!! :) 最好的。