Create a DataBind for FGUI
Closed this issue · 2 comments
sericaer commented
我利用FGUI的"自定义数据"项,实现了一个DataBind系统,现在简单实现了TextField,TextInput,Button的绑定。
https://github.com/sericaer/FairyGUIStudy
https://github.com/sericaer/FairyGUI.DataBind
例如在TextField的"自定义数据"中设置一个绑定关系
{
"bind": {
"text": "count"
}
}
在代码添加如下实现,就可以把TestData的count绑定到FairyGUI界面上。
using FairyGUI;
using FairyGUI.DataBind;
using System.ComponentModel;
using UnityEngine;
public class TextFieldBind : MonoBehaviour
{
TestData testData;
void Start()
{
testData = new TestData();
UIPackage.AddPackage("TextFieldBind");
var gComponent = UIPackage.CreateObject("TextFieldBind", "Component1").asCom;
gComponent.BindDataSource(testData);
GRoot.inst.AddChild(gComponent);
}
void Update()
{
testData.count++;
}
public class TestData : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public int count
{
get
{
return _count;
}
set
{
_count = value;
OnPropertyChanged("count");
}
}
private int _count;
public TestData()
{
count = 0;
}
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
qipa commented
这是来自QQ邮箱的假期自动回复邮件。
您好,我最近正在忙碌中,无法亲自回复您的邮件,之后将尽快给您回复。
li5414 commented
这个算是 inhouse需求,有需要自行添加即可,如果pr了反而污染库代码。
比如我们项目,整体UI框架基于lua,是不需要这种功能的