2013-03-12 3 views
2

Учитывая «частичный» XAML ниже:StaticResource с префиксом xmlns не может быть найден?

<UserControl x:Class="MyProject.Views.SelectTestView" 
      xmlns="http://schemas.microsoft.com etc... etc..." 
      xmlns:converters="clr-namespace:MyProject.Converters" 
      mc:Ignorable="d" 
      d:DesignHeight="566" d:DesignWidth="1160"> 

<GridViewColumn Header="Status" Width="auto"> 
    <GridViewColumn.CellTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding StatusTypeName}" 
         Foreground="{Binding StatusTypeName, Converter={StaticResource StatusTypeNameToBrushConverter}}"/> 
     </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 

Мой конвертер класса «StatusTypeNameToBrushConverter.cs» в моем «преобразователях» пространство имен, которые я объявил выше. Когда я префикс Static Resource с моим Xmlns псевдонимом я все еще получаю предупреждение, что

«Resrouce„StatusTypeNameToBrushConverter“не может быть найден».

Код, который я добавил в префикс/разрешил мой статический ресурс, выглядит следующим образом.

Foreground="{Binding StatusTypeName, Converter={StaticResource converters:StatusTypeNameToBrushConverter}}"/> 

Почему это неправильно и что мне нужно добавить, чтобы квалифицировать местоположение так, чтобы мой конвертер можно было найти? Код конвертера предназначен для помощи в преобразовании представления, которое состоит из этого xaml.

Спасибо.

+0

Я поймал редактирования вы сделали, Söner, менее чем за минуту, но вы уже прыгнул на него за 54 секунды с тех пор, как я опубликовал! Как быстро вы !? –

ответ

1

Вы должны включать в себя следующее:

<UserColtrol.Resources> 
    <converters:StatusTypeNameToBrushConverter x:Key="statusTypeNameToBrushConverter"/> 
</UserColtrol.Resources> 

И Статические ресурсы таковы:

Foreground="{Binding StatusTypeName, Converter={StaticResource statusTypeNameToBrushConverter}}"/> 
1

Вы ссылаетесь StaticResource, но вы не определили. Вы можете сделать это следующим образом:

<UserControl x:Class="MyProject.Views.SelectTestView" 
      xmlns="http://schemas.microsoft.com etc... etc..." 
      xmlns:converters="clr-namespace:MyProject.Converters" 
      mc:Ignorable="d" 
      d:DesignHeight="566" d:DesignWidth="1160"> 
<UserControl.Resources> 
     <ResourceDictionary> 
      <converters:StatusTypeNameToBrushConverter x:Key="StatusTypeNameToBrushConverter" /> 
     </ResourceDictionary> 
    </UserControl.Resources> 

, а затем использовать его, как вы делали в первый раз:

Converter={StaticResource StatusTypeNameToBrushConverter} 
+0

Значит, ResrouceDictionary позволяет добавлять несколько StaticResources? –

+0

@IsaiahNelson Да. Кстати, я ответил на вопрос 15 минут назад :) FarhadJabiyev –

+0

@FarhadJabiev Действительно, вы сделали, поэтому вы получаете принятый ответ. На встрече в данный момент, поэтому я немного замедлил, чтобы следить за моим вопросом здесь. Я благодарен за целесообразность вашего ответа. –

Смежные вопросы