첨부 파일을 표시하는 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를 변경 한 후 아이콘이 그리기를 중지합니다.
분명히이 해결 방법은 해킹이지만 아이콘이 여전히 나타나는지 확인하는 더 좋은 방법은 무엇입니까?
x : Shared = False를 appbar_close에서 사용하려고 시도하셨습니까? –
방금 applet_close에서 x : Shared를 False로 설정했는데 제대로 작동했지만 아이콘이 재사용되지 않아 성능 문제가 발생했습니다. – derosm2