Adding DynamicButton for Button with dynamic Text updates

For use, call the ButtonGrid.Updated() method
This commit is contained in:
FlorianDahn 2020-07-25 15:11:15 +02:00
parent ecfacdadbb
commit cf9e2285f1
3 changed files with 47 additions and 6 deletions

View File

@ -12,7 +12,7 @@ namespace TelegramBotBase.Form
/// </summary>
public class ButtonBase
{
public String Text { get; set; }
public virtual String Text { get; set; }
public String Value { get; set; }

View File

@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace TelegramBotBase.Form
{
public class DynamicButton : ButtonBase
{
public override string Text
{
get
{
return GetText?.Invoke() ?? m_text;
}
set
{
m_text = value;
}
}
private String m_text = "";
private Func<String> GetText;
public DynamicButton(String Text, String Value, String Url = null)
{
this.Text = Text;
this.Value = Value;
this.Url = Url;
}
public DynamicButton(Func<String> GetText, String Value, String Url = null)
{
this.GetText = GetText;
this.Value = Value;
this.Url = Url;
}
}
}