我已經設計了一個WPF列表框。我在Windows 8下開發。設置樣式如下(見圖),當我在Windows 7中測試應用程序時,邊距不一樣。正如你可以在imagen畫質節點之間的分離是1px的在Windows 8中看到的,但0 PX在Windows 7列表框邊距在Windows 7和Windows 8是不一樣的
你知道這是爲什麼,以及如何解決呢?
在此先感謝。
我已經設計了一個WPF列表框。我在Windows 8下開發。設置樣式如下(見圖),當我在Windows 7中測試應用程序時,邊距不一樣。正如你可以在imagen畫質節點之間的分離是1px的在Windows 8中看到的,但0 PX在Windows 7列表框邊距在Windows 7和Windows 8是不一樣的
你知道這是爲什麼,以及如何解決呢?
在此先感謝。
我實際上設法擺脫它自己,它看起來像是由Windows8更改的ListViewItem樣式,添加樣式到ListView的本地資源已爲我工作。
<ListView.Resources>
<Style TargetType="ListViewItem">
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
</ListView.Resources>
這很好。似乎只有填充和BorderThickness才能解決它。 – 2014-05-02 03:00:40
您可以嘗試在DataContext中顯式設置ListBoxItem邊距。 例如:
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Margin="0,0,0,1" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
可能是因爲Windows 7和Windows 8對列表框不同的風格。
設置邊距實際上並沒有爲我解決這個問題,看起來這是在列表項周圍出現的額外邊距。 – Andy 2013-03-25 15:33:18
嘗試設置填充值和邊框厚度值。您可以使用[snoop](http://snoopwpf.codeplex.com/)查看正在設置的值。 – 2013-03-27 17:02:59
默認的ListBoxItem包含邊框。 ListBoxItem還指定由此邊框繼承的填充。它的填充DP需要像安迪提到的那樣設置。
您是否嘗試過使用snoop(http://snoopwpf.codeplex.com/)查看W7列表框是否正在考慮您正在設置的邊框? – 2013-02-15 18:32:47
我有同樣的問題,額外的保證金空間不會出現在窺探中。 – Andy 2013-03-25 14:48:17