2013-03-12 40 views
2

鑑於「部分」的XAML:無法找到帶有xmlns前綴的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"> 

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

我Converter類「StatusTypeNameToBrushConverter.cs」是我上面說過我是「轉換器」的命名空間。當我用我的xmlns別名爲靜態資源添加前綴時,我仍然收到警告

「Resrouce」StatusTypeNameToBrushConverter「can not be found」。

我添加到前綴/解析我的靜態資源的代碼如下所示。

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

爲什麼這個錯誤,我需要添加什麼來限定位置,以便我的轉換器可以找到?轉換器代碼旨在幫助轉換由此xaml組成的視圖。

謝謝。

+0

我發現你所做的編輯,Soner,在不到一分鐘,但你就已經在我發佈後的54秒內跳上它!你有多快!? – 2013-03-12 15:57:27

回答

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? – 2013-03-12 16:22:05

+0

@IsaiahNelson是的。順便說一句,我已經在15分鐘前回答了這個問題:) FarhadJabiyev – 2013-03-12 16:24:35

+0

@FarhadJabiyev的確,你做到了,這就是爲什麼你會得到接受的答案。在此刻的一次會議上,我在這裏關注我的問題有點慢。我很欣賞你通過答案的權宜之計。 – 2013-03-12 16:26:40

相關問題