我有一個WPF應用程序,顯示一些數據的列表框。當我在窗口中心的列表框和窗口寬度不均勻時,在右側列表框是模糊的。 (綠色是矩形,藍色部分是文本框) 我試圖幾乎在任何地方都應用SnapsToDevicePixels
而沒有結果。 (我知道它應該由子元素繼承,但即時通訊幾乎把我的頭髮拉出來)WPF右側模糊列表框邊框
我可以通過將它設置爲HorizontalAlignment="Left"
來克服這個問題,並且總是在一個固定的大小,但我知道我只是缺少一些東西,因爲文本框確實呈現正確。
這裏是我的(儘可能乾淨)代碼,顯示的行爲:
<Window x:Class="WpfApplication2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1"
Height="200"
Width="401px"
Background="Red"
SnapsToDevicePixels="True">
<Grid>
<Rectangle Width="200" Height="50" Fill="Blue" VerticalAlignment="Top" />
<ListBox Height="94" VerticalAlignment="Bottom" Width="200px" >
<ListBoxItem>1</ListBoxItem>
<ListBox.Template>
<ControlTemplate TargetType="ListBox">
<ScrollViewer Margin="0" Padding="0" SnapsToDevicePixels="True">
<StackPanel Margin="0" IsItemsHost="True" Width="200" Background="GreenYellow"/>
</ScrollViewer>
</ControlTemplate>
</ListBox.Template>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="Width" Value="200"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Grid Background="Green" Height="40" SnapsToDevicePixels="True">
<ContentPresenter SnapsToDevicePixels="True"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Grid>
</Window>
嘗試從200列表框內容退後。 – Paparazzi