gpt4 book ai didi

C# XAML WPF 在 UserControl 上呈现之前使用参数

转载 作者:行者123 更新时间:2023-11-30 16:57:23 25 4
gpt4 key购买 nike

我是 c# 世界的新手,对 xaml UserControl 对象的参数使用有疑问。

我在我的 MainGrid/主窗口中用 xaml 定义了一个 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 中定义的参数值进行访问。

我尝试了几种方法(包括 Constructor 本身),但我在后面的 C# 代码中只得到一个空值。因为我现在尝试了几种方法,所以我现在使用“OnRender”方法 - 在这个方法中我可以从 xaml 访问我的参数值。

但我真的不确定这是不是正确的方法..

在绘制 Usercontroll 之前有人知道另一种方法,我可以在其中访问 xaml 参数值并处理一些事情吗?

亲切的问候

最佳答案

在您的 UserControl 自己的 Xaml 中声明的属性值将在 InitializeComponent() 中处理。引发 Initialized 后,用户控件的 Xaml 使用站点中提供的值将可用。

绑定(bind)有点不同;绑定(bind)将根据上述规则应用并准备好接收值,但在调度程序有机会处理具有 DataBind 优先级的项目之前,源值可能不会传输到目标。这将在控件 Loaded 时发生。

关于C# XAML WPF 在 UserControl 上呈现之前使用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26715153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com