Я хочу присоединиться к владельцу вылета, который я создал.Как получить доступ к программно созданному вылету?
У меня есть код:
public void dosomething(Grid lessonGrid)
{
var invisibleButton = new Button();
lessonGrid.Children.Add(invisibleButton);
var contentGrid = new Grid()
var buttonInFlyOut = new Button { Content="Click" };
buttonInFlyOut.Click += buttonClicked;
contentGrid.Children.Add(buttonInFlyOut);
var flyout = new FlyoutForLessons {
Content = contentGrid
};
flyout.Closed += (f, h) =>
{
lessonGrid.Children.Remove(invisibleButton);
};
flyout.Owner = lessonGrid;
flyout.ShowAt(invisibleButton); // i want to acces a owner from parent of invisible Button -> lessonGrid
}
private class FlyoutForLessons : Flyout
{
private static readonly DependencyProperty OwnerOfThisFlyOutProperty = DependencyProperty.Register(
"owner", typeof(UIElement), typeof(FlyoutForLessons),
null);
public UIElement Owner
{
get { return (UIElement) GetValue(OwnerOfThisFlyOutProperty); }
set { SetValue(OwnerOfThisFlyOutProperty, value); }
}
}
Этот код показывает мне выпадающую. Поэтому, когда я нажимаю кнопку «buttonInFlyOut» я хочу, чтобы получить идентификатор «lessonGrid» от отправителя в этом методе:
private void buttonClicked_Click(object sender, RoutedEventArgs e)
{
}
Как вы видите, я пытался создать новую выпадающий с настраиваемым свойством, но я могу» t получить это всплывающее окно от отправителя по методу выше. Я не знаю, как это сделать, и Я не хочу создавать приватную статическую переменную, которая хранит экземпляр сетки, где появляется всплывающее окно.
Если живое дерево помогает:
oh! Спасибо, это то, что мне просто нужно: D Эта проблема заблокировала меня, чтобы пойти дальше Решение этой проблемы было настолько простым :) – Niewidzialny
@Niewidzialny, что не проблема. Я рад, что смогу помочь! –