WPF TabIndex預設樣式修改:去掉預設虛線框、自定義樣式(Button控制元件為例)
阿新 • • 發佈:2018-11-28
去掉Tab選中預設虛線框
Tab鍵切換時,被選控制元件自動存在虛線框,有時候為了介面美觀,這個虛線框就顯得比較麻煩。廢話不多說,下面是方法。
<Window.Resources> <Style x:Key="MeyFocusVisual" TargetType="{x:Type Button}" > <!--去掉預設的Tab選擇虛框--> <Setter Property="FocusVisualStyle" Value="{x:Null}"/> </Style> </Window.Resources> ... <Button Width="200" Height="20" Style="{StaticResource MeyFocusVisual}" >你怎麼按Tab也不會出現虛線框了</Button> <Button Width="200" Height="20" Style="{StaticResource MeyFocusVisual}" >就是不出來</Button>
很簡單是吧。
自定義Tab選中控制元件樣式
去掉預設樣式很簡單,設定完屬性就好了。愛動手的我們需要想到,在某些特定的場景需求下,我們需要自定義一些比較炫酷選中效果,那需要怎樣實現呢?
相信聰明的小寶貝已經想到了,那就是使用WPF強大的Control.Template(控制元件模板)。下面直接上程式碼。
<Window.Resources> <!--自定義tab選中邊框--> <Style x:Key="MeyFocusVisual"> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate> <Rectangle Margin="-2" StrokeThickness="5" Stroke="Red" StrokeDashCap="Triangle"/> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> ... <Button Width="200" Height="20" Style="{StaticResource MeyFocusVisual}" >雖然很難看</Button> <Button Width="200" Height="20" Style="{StaticResource MeyFocusVisual}" >但是不一樣了</Button>
快去試試,看看有什麼效果呢!
總結
WPF的Template(模板)是非常強大,基本上能滿足你各式各樣、花裡胡哨的介面效果需求。