This is a mirror of official site: http://jasper-net.blogspot.com/

Xaml Toolkit: Manipulation of Xaml

| Monday, August 23, 2010
One of the interesting things you could easily do with the Xaml Toolkit is manipulation of Xaml. For example, in the case of XamlPadX, if we copy pasted xaml from a WPF application, it wouldnt render because of events, unknown members and so forth. We would need to extract these members in order to make the xaml render. Using the Xaml Toolkit, its pretty simple.


  1. XamlDomObject rootObject = XamlDomServices.Load(
"MainWindow.xaml");  
  • foreach (XamlDomObject objectNode in rootObject.DescendantsAndSelf())  
  • {  
  •     delMemberList.Clear();  
  •     if (objectNode.Type.IsUnknown)  
  •     {  
  •         delDomobjList.Add(objectNode);  
  •         continue;  
  •     }  
  •    
  •     foreach(XamlDomMember member in objectNode.MemberNodes)  
  •         if (member.Member.IsEvent || member.Member.Name.Equals("Class") || member.Member.IsUnknown) delMemberList.Add(member);  
  •    
  •    foreach (XamlDomMember delItem in delMemberList)   
  •         objectNode.RemoveMemberNode(delItem);  
  • }  
  •    
  • foreach (XamlDomObject delItem in delDomobjList) 
  •    delItem.Parent.Items.Remove(delItem);  

  • XamlDomServices.Save(rootObject, "NewMainWindow.xaml");  
  •  
    Read more: Lester's WPF\SL Blog

    Posted via email from .NET Info

    0 comments: