2
我想访问我创建的弹出窗口的所有者。如何访问以编程方式创建Flyout的所有者?
我有代码:
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”的ID从发送者在此方法:
private void buttonClicked_Click(object sender, RoutedEventArgs e)
{
}
正如你看到的,我试图创建一个自定义属性新的弹出按钮,但我可以”在上面的方法中,从发件人处获得此弹出窗口。我不知道该怎么做,我不想创建一个私有的静态变量来保持网格出现弹出窗口的实例。
如果活立木帮助:
哦!谢谢,这就是我刚才需要的:D 这个问题阻止我走得更远 解决这个问题非常简单:) – Niewidzialny
@Niewidzialny这完全没有问题。我很高兴我能帮上忙! –