2014-10-21 6 views
0

내가 XAML 세계의 컨트롤에 데이터를 할당하는 표준 방법을 알고는 XAML 파일과 같이 바인딩을 사용하는 것입니다플라이 아웃에 응답 한 다음 프로그래밍 방식으로 값을 컨트롤에 지정할 수 있습니까?

<ListBox x:Name="lstbxPhotosets" ItemsSource="{Binding photosets}" . . . 

...하지만 난 그냥 빨리, 코드에서 뭔가를 할당 할 이 :

private void flyout_FlewOpen(object sender, RoutedEventArgs reargs) 
{ 
    sender.lstbxPhotosets.Items = GetPhotosets(); 
} 

internal static List<String> GetPhotosets() 
{ 
    List<String> psets = new List<string>(); 
    using (var db = new SQLite.SQLiteConnection(App.DBPath)) 
    { 
     string sql = "SELECT photosetName FROM PhotraxBaseData ORDER BY photosetName"; 
     psets = db.Query("sql"); // <= pseudocode; this doesn't compile 
    } 
    return psets; 
} 

이게 가능합니까? 그렇다면, 플라이 아웃에 어떤 이벤트가 나타 났을까요?

"송신자"를 통해 플라이 아웃의 컨트롤에 액세스 할 수 있습니까, 아니면 ... ???

참고 : 이것은 Windows 8.1 응용 프로그램과 Callista가 아닌 기본 (native) 플라이어입니다.

답변

1

플라이 아웃을 찾는 것처럼 들립니다. Opening 또는 Opened 이벤트. 플라이 아웃은 발신자 여야하며 ContentFrameworkElement.FindName 또는 VisualTreeHelper을 사용하여 플라이 아웃의 하위 컨트롤을 찾을 수 있습니다. 데이터 바인딩이 더 깔끔하고 쉽게됩니다.

- 로브

+0

정말하고 싶은 것은 문자열을 사용자에게 물어 보는 것입니다. 사용자가 선택한 사진 세트의 이름을 묻는 것입니다. 나는 그것을하기위한 다소 간단한 방법이 있어야하기 때문에 명백한 방법을 간과해야합니다. –