2013-06-11 1 views
0

저는 C#을 처음 사용하고 Surface 2.0 SDK 및 C#을 사용하는 Microsoft PixelSense 용 응용 프로그램을 개발하려고합니다.문장을 목표 문자열로 지정하는 경우

나는 다음과 같은 문자열을 사용하여 내 드롭 다운 메뉴에 내 항목을로드 해요 :

_Menu1.ItemsSource = new string[] { 
    "All", 
    "Housing", 
    "Transportation", 
    "Food", 
    "Personal Insurance", 
    "Health", 
    "Entertainment", 
    "Personal care", 
    "Cash", 
    "Misc", 
}; 

지금 내가 문 예 "주택"을 선택한 경우 경우 전화를 걸. if 문은 버튼을 활성화해야합니다.

나는 시도 다음

if (_Menu1.ItemSource == 1){ 
    _Menu3.IsEnabled = true; 
}; 

이것은 분명히 작동하지만 내가 달성하기 위해 노력하고있어 설명하지.

+3

'_SelectedIndex','.SelectedValue' 또는 이와 동등한 것을 갖는가? –

+0

'C#을 처음 접했고 Microsoft Pixelsense 용 응용 프로그램을 개발하려고합니다. - 일반적으로 OOP에 경험이없는 것처럼 보입니다. 이것은'=='연산자를 사용하여 정수 값을'array '에 할당 된'object' 속성과 비교할 것을 기대하는 방식에서 분명합니다. 복잡한 프레임 워크 나 응용 프로그램을 만들기 전에 C#과 OOP의 기초를 배우고 학습하는 것이 좋습니다. –

+0

우리는 여러분이 어떤 클래스를 사용하는지 알기 위해서'ItemsControl'을 사용합니까? http://msdn.microsoft.com/en-us/library/ms611045.aspx – Arran

답변

2

는이되지 않을까 :

_Menu1.SelectedIndex == 1 
+0

시도했지만 오류가 없지만 결과가 없습니다. – Torylon

+0

@ Torylon, 그 값을 어디에서 확인하고 있습니까? –

+0

내 Public SurfaceWindow1() 안에 있어요 : if (_Menu1.SelectedIndex == 1) { _Menu3.IsEnabled = true; _Menu3.Opacity = 1; }; – Torylon

0

나는 개인적으로 하드 코딩 된 인덱스 값을 좋아하지 않는다. 그래서 :

 var dataString = new string[] 
            { 
             "All", 
             "Housing", 
             "Transportation", 
             "Food", 
             "Personal Insurance", 
             "Health", 
             "Entertainment", 
             "Personal care", 
             "Cash", 
             "Misc", 
            }; 

     _Menu1.ItemsSource = dataString; 

     var index = dataString.ToList().IndexOf("Housing"); 

     _Menu1.SelectedIndex == index;