2012-11-19 4 views
2

첨부 파일을 표시하는 ListView가 있으며 각 첨부 파일에는 삭제 단추가 있습니다. 목록의 ItemSource를 변경하면 (즉, 첨부 파일이 다른 다른 항목을 볼 때) 삭제 버튼의 아이콘이 더 이상 그려지지 않습니다.DataTemplate의 VisualBrush가 다시 그려지지 않습니다

는 여기가 화면에 다른 곳에서 그려진 appbar_close 아이콘을 가지고 있지만 숨김으로 설정 가시성을함으로써이 문제를 해결 할 수있었습니다

<DataTemplate x:Key="attachmentListData"> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="Auto"/> 
        <ColumnDefinition Width="Auto"/> 

       </Grid.ColumnDefinitions> 
       <Label Grid.Column="0"> 
        <TextBlock TextTrimming="CharacterEllipsis" Text="{Binding Path=filename}" TextDecorations="{Binding Path=deleted, Converter={StaticResource deletedStrikethroughConverter}}" /> 
       </Label> 
       <Button Grid.Column="1" Visibility="{Binding Path=deleted, Converter={StaticResource attachmentDeleteButtonVisibilityConverter}}" Style="{DynamicResource MetroCircleButtonStyle}" Width="40" Height="40" Click="onDeleteAttachmentClicked"> 
        <Rectangle Fill="Black" Width="15" Height="15"> 
         <Rectangle.OpacityMask> 
          <VisualBrush Visual="{StaticResource appbar_close}" Stretch="Fill" /> 
         </Rectangle.OpacityMask> 
        </Rectangle> 
       </Button> 
      </Grid> 
     </DataTemplate> 

템플릿을합니다. 아이콘이 화면의 다른 위치에 있지 않으면 ItemSource를 변경 한 후 아이콘이 그리기를 중지합니다.

분명히이 해결 방법은 해킹이지만 아이콘이 여전히 나타나는지 확인하는 더 좋은 방법은 무엇입니까?

+0

x : Shared = False를 appbar_close에서 사용하려고 시도하셨습니까? –

+0

방금 ​​applet_close에서 x : Shared를 False로 설정했는데 제대로 작동했지만 아이콘이 재사용되지 않아 성능 문제가 발생했습니다. – derosm2

답변