Hyperlink and xpath filter for XmlDataProvider : XmlDataProvider « Windows Presentation Foundation « C# / C Sharp






Hyperlink and xpath filter for XmlDataProvider

Hyperlink and xpath filter for XmlDataProvider
  



<Page x:Class="WpfInteropShortcomings.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WpfInteropShortcomings"
    >
  <Page.Resources>
    <XmlDataProvider x:Key="items" XPath="/Items/Item">
      <x:XData>
        <Items xmlns="">
          <Item Title="A" Target="A.xaml" />
          <Item Title="B" Target="B.xaml" />
          <Item Title="C" Target="C.xaml" />
        </Items>
      </x:XData>
    </XmlDataProvider>
    <DataTemplate x:Key="itemTemplate">
      <TextBlock>
        <Hyperlink NavigateUri="{Binding XPath=@Target}">
          <TextBlock Text="{Binding XPath=@Title}" />
        </Hyperlink>
      </TextBlock>
    </DataTemplate>
  </Page.Resources>

  <ItemsControl DataContext="{StaticResource items}" ItemsSource="{Binding}"
                ItemTemplate="{StaticResource itemTemplate}"
                VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Page>
//File:Window.xaml.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Interop;
using System.Windows.Forms.Integration;


namespace WpfInteropShortcomings
{
    public partial class Window1 : Page
    {
        public Window1()
        {
            InitializeComponent();

            ElementHost elemHost = new ElementHost();
            elemHost.PropertyMap.Add("Text",
                delegate(object host, string prop, object val)
                {
                    ContentControl c = (ContentControl) elemHost.Child;
                    //c.Content = val;
                    Console.WriteLine(val);
                });
        }
    }
}

   
    
  








Related examples in the same category

1.HierarchicalDataTemplate and XmlDataProviderHierarchicalDataTemplate and XmlDataProvider
2.Xmldata island.xamlXmldata island.xaml
3.Hierarchical Xml TemplatesHierarchical Xml Templates
4.Using XmlDataProviderUsing XmlDataProvider
5.XmlDataProvider and static Xml resourceXmlDataProvider and static Xml resource
6.Retrieve data from XmlDataProvider with XPathRetrieve data from XmlDataProvider with XPath
7.XmlDataProvider and XmlNamespaceMappingXmlDataProvider and XmlNamespaceMapping
8.XmlDataProvider and ItemsControlXmlDataProvider and ItemsControl
9.Load XmlDocument to XmlDataProviderLoad XmlDocument to XmlDataProvider
10.Get XmlElement from Bounded viewGet XmlElement from Bounded view