WPF字體或內(nèi)容模糊的解決方法
本文會(huì)給大家介紹嘗試過的一些方法,大家可以一起看看。
1、用WPF4.0中的新字體渲染方法,沒有改善
<Setter Property="TextOptions.TextFormattingMode" Value="Display" /> <Setter Property="TextOptions.TextRenderingMode" Value="ClearType" />
2、給控件加上SnapsToDevicePixels屬性,沒有改善
其作用傳說是給整個(gè) UI 上啟用像素對(duì)齊呈現(xiàn)。 對(duì)于運(yùn)行在大于 96 dots per inch (dpi) 的設(shè)備,像素對(duì)齊呈現(xiàn)可以最小化在單一實(shí)線附近出現(xiàn)的抗鋸齒視覺瑕疵。
3、使用Times New Roman字體或微軟雅黑字體,好一點(diǎn),但是字體比較丑,也不能完全避免虛糊,另外解決不了動(dòng)畫后,文字繼續(xù)虛邊現(xiàn)象。
4、最終解決
其實(shí)是自己的編寫的Border設(shè)置了DropShadowEffect(陰影效果)引起的。
因?yàn)?code>DropShadowEffect使得元素/子元素先渲染為位圖,從而導(dǎo)致的位圖柵格對(duì)齊導(dǎo)致的模糊。
解決方法有幾個(gè):
- 是使用
UseLayoutRounding,它使得控件布局的時(shí)候?qū)R柵格(見效果2)。 - 是讓Text元素不作為
DropShadowEffect的子元素,讓ShadowEffect不會(huì)影響Button(見效果3)。 - 效果如下(0:基準(zhǔn) 1:虛糊 2:UseLayoutRounding 3:平行元素)

效果4是試驗(yàn)SystemDropShadowChrome,可以注釋掉。
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:luna="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Luna"
Title="MainWindow" Height="350" Width="525" SnapsToDevicePixels="True">
<Window.Resources>
<Style TargetType="Button">
<Setter Property="Width" Value="80" />
<Setter Property="Height" Value="40" />
<Setter Property="Margin" Value="0,5,0,5" />
</Style>
</Window.Resources>
<StackPanel>
<Button Content="基本設(shè)置 0" />
<Button Content="基本設(shè)置 1" >
<Button.Effect><DropShadowEffect/></Button.Effect>
</Button>
<Button Content="基本設(shè)置 2" UseLayoutRounding="True">
<Button.Effect>
<DropShadowEffect/>
</Button.Effect>
</Button>
<Grid Width="80" Height="40" Margin="0,5,0,5">
<Border Background="Black" Margin="1,0,0,0" CornerRadius="2">
<Border.Effect><DropShadowEffect /></Border.Effect>
</Border>
<Button Content="基本設(shè)置 3" Margin="0"/>
</Grid>
<luna:SystemDropShadowChrome Width="80" Height="40" Margin="0,5,0,0">
<Button Content="基本設(shè)置 4" Margin="0" />
</luna:SystemDropShadowChrome>
</StackPanel>
</Window>
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
http圖片上傳安全性問題 根據(jù)ContentType (MIME) 判斷其實(shí)不準(zhǔn)確、不安全
圖片上傳常用的類型判斷方法有這么幾種---截取擴(kuò)展名、獲取文件ContentType (MIME) 、讀取byte來判斷(這個(gè)什么叫法來著?)。下面由腳本之家小編跟大家分享圖片上傳安全性問題,感興趣的朋友一起看看吧2015-09-09
C#實(shí)現(xiàn)WPF項(xiàng)目復(fù)制和移動(dòng)文件夾
這篇文章介紹了C#實(shí)現(xiàn)WPF項(xiàng)目復(fù)制和移動(dòng)文件夾的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
C#修改及重置電腦密碼DirectoryEntry實(shí)現(xiàn)方法
這篇文章主要介紹了C#修改及重置電腦密碼DirectoryEntry實(shí)現(xiàn)方法,實(shí)例分析了C#修改及重置電腦密碼的相關(guān)技巧,需要的朋友可以參考下2015-05-05
C#中XmlTextWriter讀寫xml文件詳細(xì)介紹
.NET中包含了很多支持XML的類,這些類使得程序員使用XML編程就如同理解XML文件一樣簡單。在這篇文章中,我將給出這樣的一個(gè)類的使用示例,這個(gè)類就是XmlTextWriter類2013-04-04
C#基于Mongo的官方驅(qū)動(dòng)手?jǐn)]一個(gè)Super簡易版MongoDB-ORM框架
本文給大家分享C#基于Mongo的官方驅(qū)動(dòng)手?jǐn)]一個(gè)簡易版MongoDB-ORM框架,是一款屬于super簡易版的,通過圖文的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-05-05
一文帶你吃透C#中面向?qū)ο蟮南嚓P(guān)知識(shí)
這篇文章主要為大家詳細(xì)介紹了C#中面向?qū)ο蟮南嚓P(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,需要的小伙伴可以參考一下2023-02-02
C#?OpenCvSharp?顏色反轉(zhuǎn)實(shí)例詳解
OpenCVSharp是OpenCV的.NET?wrapper,它比Emgucv更接近于原始的OpenCV,并且有很多的樣例參考,其采用LGPL發(fā)行,對(duì)商業(yè)應(yīng)用友好(基本上相當(dāng)于BSD),這篇文章主要介紹了C#?OpenCvSharp?顏色反轉(zhuǎn)的知識(shí),需要的朋友可以參考下2024-02-02
C#中通過LRU實(shí)現(xiàn)通用高效的超時(shí)連接探測
這篇文章主要介紹了c#中通過LRU實(shí)現(xiàn)通用高效的超時(shí)連接探測,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2018-11-11

