【WPF】OnApplyTemplate


操作模板控件

  在做WPF開發的時候,我們通常因為滿足不同的需求會開發一些自定義控件來滿足需要,我們會自定義模板來定義控件的外觀,添加命令和路由事件來給控件添加行為,那如何在模板中查找元素並關聯事件處理程序或添加數據綁定表達式呢,WPF有一個專用的OnApplyTemplate()方法,在該方法中,可以使用GetTemplateChild或FindName來查找所需的元素。

 

添加部件名稱

  為了查找做需要的元素,WPF控件通過名稱定為他們需要的元素,所以,元素的名稱變成了自定義控件公有接口的一部分,並且需要恰當的描述性名稱。為此。WPF給出了約定:這些名稱以PART_開頭,后跟元素名稱。元素名稱的首字母要大寫,就像一個屬性名稱:比如PART_Slider。

<Slider Name="PART_Slider" Minimum="0" Minimum="255" Margin="{TemplateBinding padding}"></Slider>

 

        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            RangeBase sliderRed = GetTemplateChild("PART_Slider") as RangeBase;
            if (sliderRed != null)
            {
                Binding binding = new Binding("Red");
                binding.Source = this;
                binding.Mode = BindingMode.TwoWay;
                sliderRed.SetBinding(RangeBase.ValueProperty, binding);
            }
        .............. }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM