2012-11-19 2 views
0

컨텍스트 메뉴를 만들려고합니다. 컨텍스트 메뉴를 만들기 위해 C#으로 변환하는 방법을 모르지만 XAML에서 이미 작동중인 단추가 있습니다. 나는DataSource 및 DataContextProxy를 이해할 수 없습니다.

<sr:Button Text="Deactivate" Size="Medium" SmallImage="/Fsc.Feenics.Clients.Silverlight2;component/Images/16/deactivate.png" Command="{Binding Path=DataSource.DeactivateCardCommand, Source={StaticResource DataContextProxy}}" CommandParameter="{Binding}" Visibility="{Binding Active, Converter={StaticResource VisibleIfTrue}}" /> 

이 내 상황에 맞는 메뉴에 대한 C 번호로 번역하는 나의 시도, 데이터 소스와 DataContextProxy 작업, 여기에 내가 함께 일하고 있어요 코드 조각의 방법을 이해하지 않습니다

contextMenu.Items.Add(new MenuItem { Header = "Deactivate", Command = new RelayCommand<Guid>((x) => localContext.DeactivateCard(x)), CommandParameter = objectInfo.Id }); 

누군가가 내게 어떤 제안을 줄 수있는 방법을 설명 할 수있는 경우 C#에서 DataSource/DataContextProxy를 넣을 위치가 확실하지 않습니다.

답변

0

xaml을 이해한다면 잘 모르겠습니다. 처음부터 설명 드리겠습니다 ...

버튼 명령이 x : key "DataConextProxy"가있는 클래스 StaticResource 객체에 바인딩됩니다. 데이터 소스

그리고 그 데이터 소스 객체가 명령을 노출하는 클래스입니다 :

이 객체는 속성을 노출하는 클래스입니다 DataContextProxy의 이름에서

을 DeactivateCardCommand, 나는 가정합니다 약 this입니다.

엄청나게 커맨드, 동일한 바인딩 경로에서 동일한 바인딩을 사용하여 메뉴 항목을 생성하면 괜찮습니다 ...

관련 문제