我知道如何查找带有名称的元素,例如文本块等:
TextBlock tx = my_grid.FindName(tx_string_name) as TextBox;
但我有一个元素,其名称声明为x:Name。我无法使用之前的方法,或者至少我得到一个空实例。
有办法吗?它是一个弹出时间戳,它似乎没有名称属性而没有x。
我添加了更多信息。
我有这个元素:
TimePickerFlyout timepickerFlyout = new TimePickerFlyout();
我加上这样的名字:
timepickerFlyout.SetValue(FrameworkElement.NameProperty, "Alarm_flyout_time" + value); //Value comes from a for loop
我添加了3或4,我想随时访问其中的每一个,所以我必须识别它们。
但是,当我想访问其中任何一个时,我都不知道如何寻找它们。
这就是我创建timepickerflyout的方式:
tb.Text = hour;
TimePickerFlyout timepickerFlyout = new TimePickerFlyout();
timepickerFlyout.ClockIdentifier = "24HourClock";
timepickerFlyout.SetValue(FrameworkElement.NameProperty, "Alarm_flyout_time" + pos);
timepickerFlyout.Closed += TimepickerFlyout_Closed;
FlyoutBase.SetAttachedFlyout(tb, timepickerFlyout);
它位于for循环中,其中" pos"是柜台。
答案 0 :(得分:0)
您无法设置此弹出窗口的名称,因为TimePickerFlyout
不是FrameworkElement
且名称属性是来自FrameworkElement
的属性
例如,Button
是从FrameworkElement
继承的控件,然后您可以这样设置它的名称:
Button b = new Button();
b.Name = "buttonName";