Вам нужно объявить пространство имен в XSLT и использовать его в выражениях XPath. Например ::!!4]
& lt; xsl: stylesheet ... xmlns: my = "http://www.mysite.com" & gt; & lt; xsl: template match = "/ my: MyRoot" & gt; ... & lt; / xsl: template & gt; & Lt; / XSL: стилей & GT;
Обратите внимание, что вы должны предоставлять некоторый префикс, если вы хотите ссылаться на элементы из этого пространства имен в XPath. Хотя вы можете просто сделать xmlns = "..."
без префикса, и он будет работать для литеральных элементов результата, он не будет работать для XPath - в XPath, неподписанное имя всегда считается быть в пространстве имен с пустым URI, независимо от любого xmlns = "..."
в области.
Хотя вы можете сделать это с помощью конвертера, есть гораздо лучший вариант: использование эффекта шейдера. Вы найдете реализацию GreyscaleEffect на этой странице .
<Style x:Key="grayedIfNotLogged" TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding StatusInfo.IsLogged}" Value="False">
<Setter Property="Effect">
<Setter.Value>
<fx:GrayscaleEffect />
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
...
<Image Source="..." Style="{StaticResource grayedIfNotLogged}" />