Я не фирма в Lisp Emacs, но насколько я знаю, большая разница от языка Common LISP - то, что это использует динамический обзор повсюду. Руководство Lisp Emacs указывает, что Lisp Emacs не имеет закрытий.
я попытаюсь применить свои теоретические знания динамического обзора.
, Если у Вас есть функция id
, который просто возвращает значение my-id
:
(defun id () my-id)
и Вы используете его в некоторой другой функции:
(defun some-other-place () (id))
и где-нибудь на пути к вызову id
Вы связываете my-id
через, например, позволенный:
(defun even-elsewhere () (let ((my-id 5)) (some-other-place)))
это должно отдать 5.
я знаю, что динамический обзор является странным зверем, когда Вы привыкли к лексическому обзору, но возможно можно использовать это для реализации желаемого поведения.
There are two problems in your code
So your code becomes :
<GridViewColumn
DisplayMemberBinding="{Binding Path=BookId}"
Width="100">
<GridViewColumn.Header>
<Border BorderBrush="Black" >
<TextBlock Text="ID" Width="{Binding RelativeSource=
{RelativeSource FindAncestor,
AncestorType={x:Type GridViewColumnHeader}},
Path=ActualWidth}">
<TextBlock.ContextMenu>
<ContextMenu>item1</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</Border>
</GridViewColumn.Header>
</GridViewColumn>