for
: l = ['RATED',' Awesome food at a good price .', 'Delivery was very quick even on New Year’s Eve .', 'Please try crispy corn and veg noodles From this place .', 'Taste maintained .', 'Like',
'1', 'Comment', '0', 'Share', 'Divyansh Agarwal', '1 Review', 'Follow', '3 days ago',
'RATED', ' I have tried schezwan noodles and the momos with kitkat shake', "And I would say just one word it's best for the best reasonable rates.... Gotta recommend it to everyone", 'Like'
]
st, ed, aa = None, None, []
for k, v in enumerate(l):
if v == "RATED":
st = k
if v == "Like":
ed = k
if st != None and ed!= None:
aa.extend(l[st+1: ed])
st = None
ed = None
print (aa)
# [' Awesome food at a good price .', 'Delivery was very quick even on New Year’s Eve .', 'Please try crispy corn and veg noodles From this place .', 'Taste maintained .', ' I have tried schezwan noodles and the momos with kitkat shake', "And I would say just one word it's best for the best reasonable rates.... Gotta recommend it to everyone"]
Прежде всего позвольте мне сказать, что Ваш вопрос не проясняет, что Вы не хотите использовать существующий UIElement. GotFocusEvent, но я предположу, что Вы знаете об этом и имеете свои причины того, что не использовался он.
Можно всегда регистрировать пользовательское событие на статическом классе и повышать его везде, где Вы хотите. Класс Клавиатуры делает со всеми его событиями (например, Клавиатура. KeyDownEvent).
public static class RoutedEventUtility
{
public static readonly RoutedEvent MyCustomEvent = EventManager.RegisterRoutedEvent("MyCustomEvent", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(RoutedEventUtility));
}
Вы генерируете событие точно так же, как Вы были бы любой другой RoutedEvent.
RoutedEventArgs args = new RoutedEventArgs(RoutedEventUtility.MyCustomEvent);
RaiseEvent(args);
Если Вы захотите, чтобы другой класс владел событием как общедоступным полем затем, то необходимо будет добавить владельца.
public class MyCustomControl : Control
{
public static readonly RoutedEvent MyCustomEvent = RoutedEventUtility.MyCustomEvent.AddOwner(typeof(MyCustomControl));
}