2016-08-05 23 views
1

Ich entwickle ein Excel Add In, in dem ich eine XAML-Canvas dynamisch auf ein WPF UserControl laden will. Der folgende Code arbeitete in einer vollständigen WPF-Vorlage in Ordnung ...Dinamally laden XAML in UserControl für Excel Add In (VB)

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 

... aber wenn ich es auf einem Excel verwende In-Vorlage hinzufügen, ich nicht zu einem XAML-Objekt über VB-Code beziehen kann, wie wie:

Dim gridToLoad As New Canvas 

Ich meine "New Canvas" scheint nicht in diese Art von Vorlage "importiert" werden. Ich konnte nicht herausfinden, auf welche Bibliothek verwiesen wird, um diese Arbeit zu erledigen.

Vielen Dank im Voraus.

Antwort

0

Entschuldigung, Nur ein paar Minuten, nachdem ich versucht habe, das Projekt zu bauen und Visual Basic selbst gab mir die Antwort! Ich musste nur eine Referenz für System.Xaml hinzufügen (dumm!). Danke trotzdem !! :) Beste.