用于Excel的UserControl中的DinAMically加载XAML(VB)

时间:2016-08-05 02:38:34

标签: vb.net xaml excel-addins

我正在开发一个Excel Add In,我打算将一个XAML画布加载到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

我的意思是“新画布”似乎没有被“导入”到这种模板中。我找不到要引用哪个库。

提前致谢。

1 个答案:

答案 0 :(得分:0)

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