gpt4 book ai didi

c# - 绑定(bind)到类成员

转载 作者:行者123 更新时间:2023-11-30 15:36:35 25 4
gpt4 key购买 nike

这似乎是基本的并且可以以某种方式复制,但我在互联网上找到的答案没有一个对我有用..

我想将我的 UI (XAML) 中的元素绑定(bind)到我拥有的类实例的成员。所以,让我们有一个简单的 XAML

<Window x:Class="gUSBampReader.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="601" Width="857" xmlns:my="clr-namespace:binding;assembly=binding">

<TextBlock Name="UITextBlock"/> <!-- THIS IS THE TEXT BOX TO BE BINDED -->

</Window>

在另一边我有一个类

public class foo
{
objectThatImplementsINotify a; //lets say that's equivalent to an string
}

public partial class mainWindow : Window
{
public foo externalMembers;

public mainWindow()
{
externalMembers = new foo();
//Let's show externalMembers.a in UITextBlock!
}
}

我想了解如何从 XAML 和 C# 中执行此绑定(bind)。因为有时外部成员在那里,我可以在开发时绑定(bind),但其他时候是动态的,必须在执行时创建和绑定(bind)

最后 .. 你能推荐一本关于 dataBinding 的好教程和一些例子吗? XAML 有很多东西(但我一直无法让它发挥作用)。但对于 C# 来说并不过分。

提前致谢!!!

最佳答案

您需要将窗口的 DataContext 设置为其自身:

public mainWindow()
{
externalMembers = new foo();
DataContext = this;
//Let's show externalMembers.a in UITextBlock!
}

然后你需要绑定(bind)文本 block :

<TextBlock Name="UITextBlock" Text="{Binding externalMembers.a}"/>

要使其正常工作,您还需要将 externalMembers.a 更改为属性,而不是字段:

public class foo
{
objectThatImplementsINotify a { get; set; }
}

关于c# - 绑定(bind)到类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13621154/

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