Положение мыши в xaml - wpf - PullRequest
2 голосов
/ 19 марта 2010

Можно ли указать положение мыши в качестве значения свойства Parameter команды в XAML. Примерно так:

<UserControl.ContextMenu>
        <ContextMenu>
            <MenuItem Header="Create Link"
                      Command="{Binding CreateLink}"
                      CommandParameter="{Binding Mouse.Position}" >
            </MenuItem>
        </ContextMenu>
</UserControl.ContextMenu>

Ответы [ 2 ]

3 голосов
/ 19 марта 2010

В WPF отсутствует Mouse.Position. Если вы посмотрите на члены класса Mouse , то ближайшим будет Mouse.GetPosition , который возвращает позицию относительно некоторого элемента пользовательского интерфейса.

Я бы порекомендовал использовать сам элемент пользовательского интерфейса в качестве параметра команды и использовать командный вызов Mouse.GetPosition для получения позиционирования, если по какой-то причине это требуется в вашем DataContext.

1 голос
/ 26 марта 2010

Да, если вы хотели сделать это программно, вы можете использовать PointToScreen (), а также Mouse.GetPosition (this), чтобы получить абсолютную точку мыши. Посмотрите на это, если вам нужно сделать это программно, а не в XAML,

http://ivolo.mit.edu/post/WPF-Mouse-and-Point-Acrobatics.aspx

...