1

要在 wpf 中使用图像,您可以定义:

<ResourceDictionary 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <BitmapImage x:Key="ImageFunTime"
                 UriSource="../Resources/Images/ImageFunTime.png" />
</

然后在应用程序的某个地方你可以:

var img = (ImageSource)positionsTab.TryFindResource("ImageFunTime");

如何使用嵌入式 Xslt 文件实现相同的功能?也就是说,资源字典中的语法是什么,因为它显然不是位图图像......

TIA

4

1 回答 1

0

如何使用嵌入式 Xslt 文件实现相同的功能?

答案

  1. Microsoft 的 XSLT 处理器都不支持嵌入式 XSLT 样式表。您将需要一个完整的、仅限 XSLT 的文件用于您的 XSLT 样式表。

  2. 在 XSLT 中,人们使用<xsl:key>指令和key()函数通过某个字符串值有效地选择节点,从而唯一地标识它们。

这种转变

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 >
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:key name="UriSourceByKey"
  match="@UriSource" use="../@x:Key"/>

 <xsl:variable name="vImageFunTime"
  select="key('UriSourceByKey', 'ImageFunTime')"/>

 <xsl:template match="/">
  <xsl:value-of select="$vImageFunTime"/>
 </xsl:template>
</xsl:stylesheet>

应用于此 XML 文档时

<ResourceDictionary
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <BitmapImage x:Key="ImageFunTime"  UriSource="../Resources/Images/ImageFunTime.png" />
</ResourceDictionary>

产生想要的结果

../Resources/Images/ImageFunTime.png
于 2010-05-19T03:20:47.920 回答