2023年7月19日发(作者:)
WPF窗⼝继承实现统⼀风格的⾃定义窗⼝如何实现⼀个窗⼝的风格(style),让所有的窗⼝都继承这样同样的风格,包括标题栏,放⼤、缩⼩和关闭按钮。 那么,我们可不可以就建⽴⼀个Base窗⼝,然后将这个窗⼝的风格给设计好之后,所有的窗⼝都继承⾃他呢?答案是否定的,我们⼀定要知道,窗⼝是⼀个类,它可以继承,但是风格(XAML)⽂件是继承不了的。所以我们能够做到的是:1、窗⼝类继承,BaseWindow封装窗⼝最⼤化按钮,最⼩化按钮的点击等事件。2、风格(Style)就利⽤属性来设置,把window看成⼀个控件,利⽤Style=“BaseWindowStyle”就可以了。以下是详细的步骤:1、新建⼀个BaseWindowStyle的模板⽂件。点击项⽬名称,右键“添加”->”资源字典”->输⼊名称为“”,然后将以下的末班⽂件拷贝进去:
Foreground="White" Text="{TemplateBinding Title}"/> Orientation="Horizontal"> 2、引⽤该模板⽂件。资源⽂件建⽴后,我们需要在程序中引⽤这个⽂件,打开,将引⽤的BaseWindowStyle添加进去: State = zed; }; Button maxBtn = (Button)me("btnMax", this); += delegate { State = (State == ? zed : ); }; Button closeBtn = (Button)me("btnClose", this); += delegate { (); }; Border borderTitle = (Border)me("borderTitle", this); ove += delegate(object sender, MouseEventArgs e) { if (tton == d) { ve(); } }; eftButtonDown += delegate(object sender, MouseButtonEventArgs e) { if (ount >= 2) { vent(new RoutedEventArgs(vent)); } }; } private void InitializeStyle() { = (Style)ces["BaseWindowStyle"]; } }} 4,其它窗⼝类继承⾃BaseWindow:public partial class MainWindow : BaseWindow5,其它窗⼝的风格指向BaseWindowStyle。这⾥要注意⼀点Winodow的风格可不是直接 Style=”BaseWindowStyle” 那么简单,可以看看的代码: 经过这么多步,我们终于实现了凡是继承⾃BaseWindow的窗⼝,都有统⼀的风格了!当然,如上的窗⼝还不是那么漂亮完美,但是相信你有办法把它做的美美的!
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689717729a280654.html
评论列表(0条)