2011-06-06 5 views
18

Tengo una plantilla de datos para mi listbox y debo usar los recursos del proyecto para todas las etiquetas. Si elimino la referencia al recurso y solo escribo el texto de las etiquetas, no hay errores. Si trato de usar los recursos obtengo el error anterior.Unknown Build Error 'La clave' no puede ser nula '

Aquí es la plantilla de datos:

<DataTemplate x:Key="CheckBoxDatePickerItemTemplate"> 
    <Border BorderThickness="1" CornerRadius="3" BorderBrush="{StaticResource GreenBorderBrush}"> 
     <StackPanel Orientation="Horizontal" Background="#208897EB" MinWidth="370"> 
      <CheckBox Focusable="False" IsChecked="{Binding IsChecked}" VerticalAlignment="Top"/> 
      <ContentPresenter Content="{Binding Name, Mode=OneTime}" Margin="2,2" Width="140" VerticalAlignment="Top"/> 
      <StackPanel Orientation="Vertical" Visibility="{Binding DateDataVisible}"> 
       <StackPanel Orientation="Horizontal"> 
        <CheckBox IsChecked="{Binding IncludeNullDates}" VerticalAlignment="Center" Focusable="False"/> 
        <Label Content="{x:Static resx:Resources.Label_IncludeEmptyDates}" Margin="2,2" Width="170" VerticalAlignment="Center"/> 
       </StackPanel> 
       <StackPanel Orientation="Horizontal"> 
        <ContentPresenter Content="{x:Static resx:Resources.Label_From}" Margin="2,0" Width="50" VerticalAlignment="Center"/> 
        <DatePicker SelectedDate="{Binding StartDate}" Margin="2,2" Width="150" /> 
       </StackPanel> 
       <StackPanel Orientation="Horizontal"> 
        <ContentPresenter Content="{x:Static resx:Resources.Label_To}" Margin="2,0" Width="50" VerticalAlignment="Center"/> 
        <DatePicker SelectedDate="{Binding EndDate}" Margin="2,2" Width="150" /> 
       </StackPanel> 
      </StackPanel> 
     </StackPanel> 
    </Border> 
</DataTemplate> 

Una cosa a destacar que estamos utilizando los recursos en otros archivos XAML sin problemas. Sin embargo, este archivo es un diccionario de recursos y se agrega a los recursos de app.xaml. ¿Qué pasa con este error?

+1

Solo una idea aleatoria, asegúrese de que todos los recursos a los que se hace referencia se declaran primero, es decir, por encima de este 'DataTemplate' en su diccionario de recursos. – dain

+2

Lo descubrí ... No agregué los xmlns para resx. Oops: s –

Respuesta

37

Estamos trabajando en este proyecto en un equipo y acabo de copiar la línea para usar los recursos ... Me olvidé de copiar el atributo xmlns también. Lo que me parece extraño es que el error no es realmente descriptivo y no da pistas reales sobre cuál es el problema.

Moraleja de la historia: si se copian líneas de código, asegúrese de que todas las referencias a los espacios de nombres también se copian.

+1

Tengo el mismo error debido a la ubicación incorrecta del recurso en Source = {x: Static l: MainResource.Select}}. El mensaje de error es más bien engañoso que señalar dónde está el error: S – Marta

+0

Gracias, esto me solucionó el error. Este mensaje de error es realmente terrible para la situación ya que en la sección de recursos cada elemento necesita un atributo 'x: Key =" ... "'. –

+0

Lo tuve porque eliminé una referencia a la configuración de diagnóstico pero aún utilicé la configuración. – MrFox

Cuestiones relacionadas