在wp8中查找带x:name的元素

时间:2016-02-24 11:45:05

标签: c# windows-phone-8 win-universal-app

我知道如何查找带有名称的元素,例如文本块等:

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"是柜台。

1 个答案:

答案 0 :(得分:0)

您无法设置此弹出窗口的名称,因为TimePickerFlyout不是FrameworkElement且名称属性是来自FrameworkElement的属性

例如,Button是从FrameworkElement继承的控件,然后您可以这样设置它的名称:

Button b = new Button();
b.Name = "buttonName";