使用 C# 在 Xamarin 上以编程方式编写对象 ID 名称
Programmatically compose object Id Name on Xamarin with C#
我需要向函数传递一个 ImageButton
但 ID 取决于按下的键(例如,如果用户按下 'x' 键,我需要传递 'Button_x' 因为我必须更改按钮的源图像)。
string IDButton = "Button_key" + letter.ToString().ToUpper(); //ex. Button_keyX
ImageButton btn = new ImageButton();
btn.Id = IDButton;
function_that_changes_button_image_source(btn);
问题是 'Id' 是只读的。
有什么办法吗?
谢谢
我认为 function_that_changes_button_image_source
应该只接受 id 而不是整个按钮对象。
我已经解决了,谢谢大家
我用过this.ViewControls.FindByName(IDButton)
private void myFunc()
{
string IDButton = "Button_key" + letter.ToString().ToUpper(); //ex: Button_keyP if letter value is 'p'
object btn = this.ViewControls.FindByName(IDButton) as object;
function_that_changes_button_image_source(letter.ToString().ToLower(), btn);
...
}
private void PutTheXon(string letter, object bottone)
{
ImageButton btn2change = (ImageButton)bottone;
btn2change.IsEnabled = false;
btn2change.Source = ImageSource.FromFile("x_" + letter.ToLower() + "_pb.png"); //changes the source image 'x_p_pb.png' if letter value is 'p'
}
我需要向函数传递一个 ImageButton
但 ID 取决于按下的键(例如,如果用户按下 'x' 键,我需要传递 'Button_x' 因为我必须更改按钮的源图像)。
string IDButton = "Button_key" + letter.ToString().ToUpper(); //ex. Button_keyX
ImageButton btn = new ImageButton();
btn.Id = IDButton;
function_that_changes_button_image_source(btn);
问题是 'Id' 是只读的。 有什么办法吗?
谢谢
我认为 function_that_changes_button_image_source
应该只接受 id 而不是整个按钮对象。
我已经解决了,谢谢大家
我用过this.ViewControls.FindByName(IDButton)
private void myFunc()
{
string IDButton = "Button_key" + letter.ToString().ToUpper(); //ex: Button_keyP if letter value is 'p'
object btn = this.ViewControls.FindByName(IDButton) as object;
function_that_changes_button_image_source(letter.ToString().ToLower(), btn);
...
}
private void PutTheXon(string letter, object bottone)
{
ImageButton btn2change = (ImageButton)bottone;
btn2change.IsEnabled = false;
btn2change.Source = ImageSource.FromFile("x_" + letter.ToLower() + "_pb.png"); //changes the source image 'x_p_pb.png' if letter value is 'p'
}