복사 및 붙여 넣기 명령은 텍스트 상자에 의해 처리됩니다,하지만 난 당신이에 받고있는 것을 알고있다.
내가 할이 해킹 사용 - XAML
다음 때 매개 변수 선택한 항목을 만드는
<ListBox local:AttachableParameter.Parameter="{Binding RelativeSource={RelativeSource Self}, Path=SelectedItems}" />
에서 다음 그래서
public class AttachableParameter : DependencyObject {
public static Object GetParameter(DependencyObject obj) {
return (Object)obj.GetValue(ParameterProperty);
}
public static void SetParameter(DependencyObject obj, Object value) {
obj.SetValue(ParameterProperty, value);
}
// Using a DependencyProperty as the backing store for Parameter. This enables animation, styling, binding, etc...
public static readonly DependencyProperty ParameterProperty =
DependencyProperty.RegisterAttached("Parameter", typeof(Object), typeof(AttachableParameter), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits));
}
같은과 연결된 속성을 명령은 창에서 명령을 실행합니다. 명령 매개 변수가 있는지 확인하기 위해이 명령을 사용합니다 (이 코드는 실행 및 실행에서 호출합니다)
private Object GetCommandParameter() {
Object parameter = null;
UIElement element = FocusManager.GetFocusedElement(this) as UIElement;
if (element != null) {
parameter = AttachableParameter.GetParameter(element as DependencyObject);
}
return parameter;
}
해킹이지만 키 바인딩에서 시작된 바인딩에 명령 매개 변수를 가져 오는 다른 방법을 찾지 못했습니다. 내가 대답을 발견
당신의 솔루션은 다음과 같이 훨씬 더 읽기 쉽습니다 :'InputBindings.Add (새로운 KeyBinding (ChangeToRepositoryCommand, 새로운 KeyGesture (Key.F1)) {CommandParameter = 0}); ' –
고맙습니다. 업데이트 됨. – Justin