====== Stack Panel ====== 스크롤 기능을 추가하려면 ScrollViewer 를 패널 바깥쪽에 추가한다. StackPanel 크기를 넘는 컨트롤이 추가되면 스크롤 바가 보인다. ====== Common Dialog ====== 쉬운 해결책 : System.Windows.Forms 를 가져다 쓴다. 방법: * 프로젝트 선택 -> 추가 -> 참조 -> System.Windows.Forms 선택 * Forms에 있는 CommonDialog를 사용한다. CommonDialog를 대부분 포함하는 라이브러리를 쓴다 * [[http://www.ookii.org/software/dialogs/|Ookii Dialog]] : 다운 받아서 사용 Win32 CommonDialog를 쓴다 * 왠지 사서 고생하는 느낌 * [[https://www.codeproject.com/Articles/14239/Using-SHBrowseForFolder-in-NET|Using SHBrowseForFolder in .NET]] 폴더 선택하는 대화상자를 띄우는 여러가지 논의 * [[https://stackoverflow.com/questions/4007882/select-folder-dialog-wpf|Select folder dialog WPF]] 왜 CommonDialog 인터페이스를 안만들었데.. ====== ListBox ====== 아이템 선택시, 호출할 스크립트 (메소드) 0 5 public partial class MainWindow : Window { // 샘플로 이렇게 저렇게 private void ChangeThickness(object sender, SelectionChangedEventArgs args) { var li = ((sender as ListBox).SelectedItem as ListBoxItem); } } ====== ListView ====== ===== 데이터 추가 ===== 쉬운 접근 : **ItemsSource** 에 List 콜렉션을 등록한다. // lv_sample 이 xaml 형식 파일로 ListView가 추가 되어 있는 경우 ListView lv_sample; List _items = new List(); lv_sample.ItemsSource = _items; ===== 헤더 추가 ===== 헤더를 추가하고 바인딩하는 예 : [[https://msdn.microsoft.com/ko-kr/library/system.windows.controls.listview.view(v=vs.110).aspx|ListView.View 속성]] ListView myListView = new ListView(); GridView myGridView = new GridView(); myGridView.AllowsColumnReorder = true; myGridView.ColumnHeaderToolTip = "Employee Information"; GridViewColumn gvc1 = new GridViewColumn(); gvc1.DisplayMemberBinding = new Binding("FirstName"); gvc1.Header = "FirstName"; gvc1.Width = 100; myGridView.Columns.Add(gvc1); GridViewColumn gvc2 = new GridViewColumn(); gvc2.DisplayMemberBinding = new Binding("LastName"); gvc2.Header = "Last Name"; gvc2.Width = 100; myGridView.Columns.Add(gvc2); GridViewColumn gvc3 = new GridViewColumn(); gvc3.DisplayMemberBinding = new Binding("EmployeeNumber"); gvc3.Header = "Employee No."; gvc3.Width = 100; myGridView.Columns.Add(gvc3); //ItemsSource is ObservableCollection of EmployeeInfo objects myListView.ItemsSource = new myEmployees(); myListView.View = myGridView; myStackPanel.Children.Add(myListView);