本文整理汇总了C#中System.Windows.Controls.Control.PointToScreen方法的典型用法代码示例。如果您正苦于以下问题:C# Control.PointToScreen方法的具体用法?C# Control.PointToScreen怎么用?C# Control.PointToScreen使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Controls.Control
的用法示例。
在下文中一共展示了Control.PointToScreen方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PickListWindow
public PickListWindow(User user, string caption, Func<IEnumerable<object>> itemsFunc, Func<String, bool> addItemFunc, string initialFilter = "", Control PositionUnder = null, Control PositionUnderAncestor = null)
{
_itemsFunc = itemsFunc;
_addItemFunc = addItemFunc;
this.User = user;
InitializeComponent();
LaunchingControl = PositionUnder;
if (PositionUnder == null || PositionUnderAncestor == null) {
Config.RestoreWindowPosition(user, this);
} else {
Owner = PositionUnder.FindParentWindow();
GeneralTransform transform = PositionUnder.TransformToAncestor(PositionUnderAncestor);
var rootPoint = PositionUnder.PointToScreen(transform.Transform(new Point(0, 0)));
Top = rootPoint.Y + PositionUnder.ActualHeight;
Left = rootPoint.X;
Width = PositionUnder.ActualWidth;
Height = 250;
}
Title = caption;
LoadModel();
if (!string.IsNullOrWhiteSpace(initialFilter)) {
txtFilter.Text = initialFilter;
}
btnAddNew.Visibility = System.Windows.Visibility.Hidden;
if (_addItemFunc != null) {
btnAddNew.Visibility = Visibility.Visible;
btnAddNew.Click += new RoutedEventHandler((source, e) => {
string prefill = txtFilter.Text;
InputBox.Show(this, "Add a new value", "Enter the new value, and click OK", prefill, (text) => {
if (_addItemFunc(text)) {
_model.Add(text);
lst.SelectedItem = text;
this.DialogResult = true;
this.Hide();
}
});
});
}
}