none
La clave no puede ser nula, nombre del parametro key RRS feed

  • Pregunta

  • Hola amigos, estoy realizando un proyecto en expression blend (wpf con vb.net) resulta que cuando voy a editar la plantilla de un control ScrollViewer me sale un error que dice "La clave no puede ser nula. Nombre del parametro key" y en modo diseño no puedo editar el control y por código no se que poner para solucionar el problema.

    espero haberme hecho comprender y ojala me puedan ayudar

    Gracias


    ...:::2TB:::... [Temble The Big Boss]

    martes, 27 de noviembre de 2012 3:38

Respuestas

Todas las respuestas

  • Hola Temble,

    Pues la verdad es que no he entendido nada, ¿puedes explicar mejor a qué te refieres, pegar código, ...?


    @XaviPaper
    http://geeks.ms/blogs/xavipaper

    miércoles, 28 de noviembre de 2012 0:55
  • Hola Xavi gracias por tu respuesta y disculpa lo tarde es que andaba en otros proyectos

    mira el codigo , estoy tratando de editar un control un datagird :

      <ControlTemplate x:Key="DataGridControlTemplate1" TargetType="{x:Type Custom:DataGrid}">
         <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
          <ScrollViewer x:Name="DG_ScrollViewer" Focusable="False">
           <ScrollViewer.Template>
            <ControlTemplate TargetType="{x:Type ScrollViewer}">
             <Grid>
              <Grid.ColumnDefinitions>
               <ColumnDefinition Width="Auto"/>
               <ColumnDefinition Width="*"/>
               <ColumnDefinition Width="Auto"/>
              </Grid.ColumnDefinitions>
              <Grid.RowDefinitions>
               <RowDefinition Height="Auto"/>
               <RowDefinition Height="*"/>
               <RowDefinition Height="Auto"/>
              </Grid.RowDefinitions>
              <Button Command="ApplicationCommands.SelectAll" Focusable="False" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type Custom:DataGrid}}}">
               <Button.Template>
                <ControlTemplate TargetType="{x:Type Button}">
                 <Grid>
                  <Rectangle x:Name="Border" Fill="{DynamicResource}" SnapsToDevicePixels="True"/>
                  <Polygon x:Name="Arrow" Fill="Black" HorizontalAlignment="Right" Margin="8,8,3,3" Opacity="0.15" Points="0,10 10,10 10,0" Stretch="Uniform" VerticalAlignment="Bottom"/>
                 </Grid>
                 <ControlTemplate.Triggers>
                  <Trigger Property="IsMouseOver" Value="True">
                   <Setter Property="Stroke" TargetName="Border" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/>
                  </Trigger>
                  <Trigger Property="IsPressed" Value="True">
                   <Setter Property="Fill" TargetName="Border" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/>
                  </Trigger>
                  <Trigger Property="IsEnabled" Value="False">
                   <Setter Property="Visibility" TargetName="Arrow" Value="Collapsed"/>
                  </Trigger>
                 </ControlTemplate.Triggers>
                </ControlTemplate>
               </Button.Template>
               <Button.Visibility>
                <Binding Path="HeadersVisibility" RelativeSource="{RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type Custom:DataGrid}}">
                 <Binding.ConverterParameter>
                  <Custom:DataGridHeadersVisibility>All</Custom:DataGridHeadersVisibility>
                 </Binding.ConverterParameter>
                </Binding>
               </Button.Visibility>
              </Button>
              <Custom:DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.Column="1">
               <Custom:DataGridColumnHeadersPresenter.Visibility>
                <Binding Path="HeadersVisibility" RelativeSource="{RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type Custom:DataGrid}}">
                 <Binding.ConverterParameter>
                  <Custom:DataGridHeadersVisibility>Column</Custom:DataGridHeadersVisibility>
                 </Binding.ConverterParameter>
                </Binding>
               </Custom:DataGridColumnHeadersPresenter.Visibility>
              </Custom:DataGridColumnHeadersPresenter>
              <ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" CanHorizontallyScroll="False" Grid.ColumnSpan="2" CanVerticallyScroll="False" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Grid.Row="1"/>
              <ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="2" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
              <Grid Grid.Column="1" Grid.Row="2">
               <Grid.ColumnDefinitions>
                <ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type Custom:DataGrid}}}"/>
                <ColumnDefinition Width="*"/>
               </Grid.ColumnDefinitions>
               <ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
              </Grid>
             </Grid>
            </ControlTemplate>
           </ScrollViewer.Template>
           <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
          </ScrollViewer>
         </Border>
        </ControlTemplate>

    esto lo pone expression blend cuando trato de editar la plantilla del control.

    blend maraca las lineas que estan con el error y señala las siguientes:

              <Button Command="ApplicationCommands.SelectAll" Focusable="False" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type Custom:DataGrid}}}">
               <Button.Template>
                <ControlTemplate TargetType="{x:Type Button}">
                 <Grid>
                  <Rectangle x:Name="Border" Fill="{DynamicResource}" SnapsToDevicePixels="True"/>

    el error dice... La clave no puede ser nula nombre del parametro key


    ...:::2TB:::... [Temble The Big Boss]

    jueves, 21 de marzo de 2013 16:04
  • Si te fijas, la última línea dice Fill="{DynamicResource}"

    Pero no has especificado cual es el nombre del recurso, la clave. Por eso te da error.

    jueves, 21 de marzo de 2013 19:52
  • Si Señor, que mal descuido ;)

    muchas gracias Juan Carlos, exactamente era eso!!


    Jonathan Mejía Tejada

    jueves, 21 de marzo de 2013 20:27