2011-04-12 8 views
1

버튼 목록을 표시하는 ItemsControl이 있습니다. 각 버튼의 내용은 이미지 (png)이지만 이미지는 각 행마다 약간 다르게 보입니다. 여기 enter image description here이미지는 위치에 따라 다르게 렌더링됩니다.


은 XAML입니다 :

아래 이미지는 제가보고 있어요 버전 확대되고 나는 similar issue previously 했어

<ItemsControl ItemsSource="{Binding Items}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <TextBlock Name="tb1">hello</TextBlock> 
       <Button Height="{Binding ElementName=tb1, Path=ActualHeight}" Padding="0,-3,-3,-3" BorderBrush="Transparent" Background="Transparent" > 
        <Image Stretch="Fill" Source="stock_standard_filter.png" Margin="0"> 
        </Image> 
       </Button> 
      </StackPanel> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

SnapsToDevicePixels="True"를 사용하여 해결할 수 있었다 , 그러나 그 해결책은 이번에는 작동하지 않습니다. 나는 또한 시도했다 UseLayoutRounding="True"RenderOptions.EdgeMode="Aliased"

+0

스트레치 = "없음"을 시도하면 어떻게됩니까? – blindmeis

+0

@blindmeis : 여전히 다르게 렌더링되지만 이미지가 너무 큽니다. –

답변

1

단추를 채울 때 이미지가 늘어나도록 단추의 높이가 바운드되었습니다. WPF는 복식 (1/96 인치 단위)을 사용하기 때문에 반올림이 필요합니다. SnapsToDevicePixels 및 Layout 반올림은 StackPanel에서 사용할 때 도움이 될 수 있지만 이미지를 늘리면 흐리게 표시됩니다.

"Stretch to None"을 설정하고 SnapsToDevicePixels 및 레이아웃 반올림을 실험 해 보는 것이 가장 좋습니다.

관련 문제