====== 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/CustomClass//> 콜렉션을 등록한다.
// 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);