C#XAML WPF在对UserControl进行渲染之前使用参数
本文关键字:参数 在对 WPF UserControl C#XAML | 更新日期: 2023-09-27 18:28:50
我是c#世界的新手,有一个关于xaml UserControl对象的参数使用的问题。
我在xaml:中的MainGrid/MainWindow中定义了一个UserControll"ImageButton"
<local:ImageButton HorizontalAlignment="Left" Height="100" Margin="49,122,0,0" VerticalAlignment="Top" Width="100" sText="SomeText" sType="main_button" Source="Resources/main_button.png" />
在另一边,我有我的ImageBButton.xmal.cs
public partial class ImageButton : UserControl
.....
public ImageSource Source
{
get {
return (ImageSource)GetValue(SourceProperty); }
set { SetValue(SourceProperty, value); }
}
.....
public static readonly DependencyProperty SourceProperty = DependencyProperty.Register("Source", typeof(ImageSource), typeof(ImageButton), new UIPropertyMetadata(default(ImageSource)));
.....
public ImageButton()
{
InitializeComponent();
}
.....
现在我想知道在哪一点我可以访问我在xaml中定义的参数值。
我尝试了几个方法(包括构造函数本身),但在c#代码后面只得到一个空值。当我现在尝试了几个方法时,我现在使用"OnRender"方法——在这个方法中,我可以从xaml访问我的参数值。
但我真的不确定这是否是正确的方式。。
在绘制Usercontroll之前,可能有人知道另一个方法,在那里我可以访问xaml参数值并处理一些事情?
谨向致意
UserControl自己的Xaml中声明的属性值将在InitializeComponent()
中处理。在引发Initialized
之后,UserControl的Xaml使用站点中提供的值将可用。
绑定有点不同;绑定将被应用并准备好接收基于上述规则的值,但是在调度器有机会处理具有DataBind
优先级的项目之前,源值可能不会被传输到目标。这将在控件为Loaded
时发生。