2015-09-29 8 views
0

Я пытаюсь поместить изображение видимым или скрытым в rowHeader. Он работает для нормальной строки, но для NewItemPlaceHolder это всегда видно. Как я могу скрыть изображение для NewItemPlaceHolder?RowHeaderTemplate и NewItemPlaceholder

<DataGrid.RowHeaderTemplate> 
      <DataTemplate> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="*" /> 
         <ColumnDefinition Width="20" /> 
        </Grid.ColumnDefinitions> 

        <TextBlock Grid.Column="0" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, 
            AncestorType={x:Type DataGridRow}}, 
            Path=Item.xmlId}"/> 
         <Image Grid.Column="1" 
           Source="/MYAppli;component/Res/003_Fermer.png" 
           ToolTip="ERROR" 
           Margin="0" 
           Width="11" Height="11" 
           > 
         <Image.Style> 
          <Style TargetType="{x:Type Image}"> 
           <Style.Triggers> 
            <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, 
            AncestorType={x:Type DataGridRow}}, 
            Path=Item.HasError}" Value="true" > 
           <Setter Property="Visibility" Value="Visible" /> 
          </DataTrigger> 
            <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, 
            AncestorType={x:Type DataGridRow}}, 
            Path=Item.HasError}" Value="false" > 
             <Setter Property="Visibility" Value="Hidden" /> 
            </DataTrigger> 
           </Style.Triggers> 
           </Style> 
         </Image.Style> 
        </Image> 
       </Grid> 
      </DataTemplate> 

NewItemPlaceholder

+0

Здесь вы можете найти образец, как рестайлинг его http://stackoverflow.com/a/20651622/1979354 – Spawn

+0

Как получить доступ к моему изображению с помощью этого код? – Frederic7391

ответ

0

Наконец-то я это сделать следующее:

 <Style x:Key="DataGridRowHeader" TargetType="DataGridRowHeader"> 
     <Setter Property="FontSize" Value="9" /> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding}" Value="{x:Static CollectionView.NewItemPlaceholder}"> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate TargetType="{x:Type DataGridRowHeader}"> 
          <Button Background="LightGray" IsEnabled="False"> 
          <Image Source="/MYAppli;component/Res/031_Plus.png" 
            Height="10" 
            Width="10"></Image> 
          </Button> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 

NewItemPlaceHolder

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