우선 Silverlight + MVVM이 처음입니다. 그래서 나는 너희들에게 시나리오를 설명하기 위해 최선을 다할 것이다.Silverlight 및 MVVM의 KeyDown 문제
완벽하게 작동하는 Silverlight 4 응용 프로그램에는 다음과 같은 AutoCompleteBox가 있습니다. 나는 AutoCompleteBox에서 특정 VendorID 값을 선택하면, 공급 업체 나머지 데이터가있는 gridview에로드해야
다음과 같이
<myControls:AutoCompleteBox Name="acbVendorID" MinimumPrefixLength="2"
ItemsSource="{Binding VendorCodes, Mode=TwoWay}"
SelectedItem="{Binding SelectedVendorCode, Mode=TwoWay}"
ValueMemberBinding="{Binding Value}"
cmds:AutoCompletePopulating.Command="{Binding VendorID_Populating}"
cmds:AutoCompletePopulating.CommandParameter="{Binding ElementName=acbVendorID}">
이제 내 요구 사항입니다. 이러한 이유로, 나는 다음과 같은 방법으로 내 뷰 모델에 SelectedVendorCode을 구현 한 :
private KeyValue selectedVendorCode;
public KeyValue SelectedVendorCode
{
get { return selectedVendorCode; }
set
{
if (selectedVendorCode != value)
{
selectedVendorCode = value;
this.NotifyChanged("SelectedVendorCode");
if (selectedVendorCode != null)
{
this.VendorDisplayCode = selectedVendorCode.Value;
OnVendorCodeSelected(); //Sets the vendor collection property bound to the GridView
}
}
}
}
이뿐만 아니라 잘 작동합니다. 사용자가 아래쪽 화살표를 사용하여 AutoCompleteBox의 항목을 탐색 할 때 문제가 발생합니다. 그리드보기의 데이터는 AutoCompleteBox의 선택된 항목이 변경 될 때 다시로드됩니다.
이 특정 기능을 차단하고 싶습니다. I 사용자가 AutoCompleteBox의 공급을 선택하고 프레스 I이 '는 KeyPressCommand는 케이이 link
에 언급 된 방법을 사용하여 달성하려고
입력시의 GridView 데이터 만를 페치 할 아래 화살표 나 Enter 키를 사용할 때 t 화재가 발생합니다. 대부분의 다른 키는이 명령을 실행하는 것 같습니다.
나는 조금 혼란 스럽다. 당신에 의한 모든 입력은 정말 도움이 될 것입니다.
미리 감사드립니다.
~ 비 노드
완벽하게 작동합니다! 감사! – Vinod