사용자 도구

사이트 도구


sdk:wpf:코드_조각

Stack Panel

스크롤 기능을 추가하려면 ScrollViewer 를 패널 바깥쪽에 추가한다.

<ScrollViewer VerticalScrollBarVisibility="Auto">
    <StackPanel ScrollViewer.VerticalScrollBarVisibility="Auto" CanVerticallyScroll="True" ScrollViewer.CanContentScroll="True">
    </StackPanel>
</ScrollViewer>

StackPanel 크기를 넘는 컨트롤이 추가되면 스크롤 바가 보인다.

Common Dialog

쉬운 해결책 : System.Windows.Forms 를 가져다 쓴다.

방법:

  • 프로젝트 선택 → 추가 → 참조 → System.Windows.Forms 선택
  • Forms에 있는 CommonDialog를 사용한다.

CommonDialog를 대부분 포함하는 라이브러리를 쓴다

Win32 CommonDialog를 쓴다

폴더 선택하는 대화상자를 띄우는 여러가지 논의

왜 CommonDialog 인터페이스를 안만들었데..

ListBox

아이템 선택시, 호출할 스크립트 (메소드)

<ListBox SelectionChanged="ChangeThickness">
  <ListBoxItem>0</ListBoxItem>
  <ListBoxItem>5</ListBoxItem>
</ListBox>
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<CustomClass> _items = new List<CustomClass>();
lv_sample.ItemsSource = _items;

헤더 추가

헤더를 추가하고 바인딩하는 예 : 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);
sdk/wpf/코드_조각.txt · 마지막으로 수정됨: 2024/04/23 22:44 저자 127.0.0.1