GSI

사용자 삽입 이미지 사용자 삽입 이미지 사용자 삽입 이미지

사용자 삽입 이미지 사용자 삽입 이미지 사용자 삽입 이미지

사용자 삽입 이미지 사용자 삽입 이미지 사용자 삽입 이미지


Posted by gsi
:

// DataGridView 객체 얻어 오기
DataGridView dgv = sender as DataGridView;
if (dgv == null)
    return;

// 셀단위로 선택된 것이 있는지 찾는다. 하나도 없을때 리턴
if (dgv.SelectedCells.Count == 0)
    return;

// DB와 연결되어 있을때. DataSet의 테이블 정보를 가져온다.
DataTable dtItem = azitro_testDataSet.Tables[0];
// DataRow를 가져 오기 위해서 DataGridView의 선택된 셀정보를 가져와서
// RowIndex를 리턴해 준다.
// RowIndex의 값을 사용해서 DataRow를 구한다.
DataRow rwItem = dtItem.Rows[dgv.SelectedCells[0].RowIndex];

// Row의 셀 정보를 가져온다. (DB 내용)
string strCatenum = rwItem["cate_Num"].ToString();
string strCatedep = rwItem["cate_dep"].ToString();
string strCatesel = rwItem["cate_sel"].ToString();
string strsiImg = rwItem["icon_img"].ToString();

txtSelName.Text = rwItem["item_name"].ToString();
txtSelContents.Text = rwItem["item_contents"].ToString();

// DB에 있는 내용을 사용해서 폴더 경로를 구한다.
string filepath;
filepath = Application.StartupPath
    + "\\itemlist\\"
    + strCatenum + "\\"
    + strCatesel + "\\"
    + strsiImg + ".png";

// 파일이 존재 하는지 검사한다.
if (File.Exists(filepath))
{
    // 이미지를 연결하고 화면에 출력한다.
    picItemImage.Image = Image.FromFile(filepath);
}
else
{
    // 이미지가 없을때 null 처리
    picItemImage.Image = null;
}

Posted by gsi
:

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

Posted by gsi
:

사용자 삽입 이미지

본 내용은 자료가 좀 많다. -.-
우선 정리는 시간이 걸리기 때문에 차후에 해야 할거 같다.

간단하게 정리 하면...
Employee 라는 직원 정보를 담고 있는 클래스를 하나 제작한다.
Button의 Content의 프로퍼티를 Employee 객체로 설정하여 버튼을 확장하는 예제이다.
여기에서 사용되는 내용은 ContentTemplate, DataTemplate, DataTemplateSelector, DataTemplate.Triggers 등에 대한 내용을 담고 있다.
(이 내용은 WPF 서적의 25장. 템플릿의 내용이다.)

관련소스 :
Posted by gsi
:

사용자 삽입 이미지
  • ControlTemplate 태그 내에는 TargetType 속성을 포함하는 것이 가능하다.
    <ControlTemplate x:Key="btnCustom" TargetType="{x:Type Button}">
    이 경우 TemplateBinding 표현에서 의존 프로퍼티의 클래스 이름을 앞에 붙일 필요는 없다. 바인딩에는 이 프로퍼티를 참조하라는 정보가 들어 있기 때문.
  • 여러개의 컨트롤이 템플릿을 공유할때 리소스로 정의해야 한다.
  • btnCustom이라는 x:Key를 가진 ControlTemplate을 정의한 스탠드 얼론 xaml파일이 있다.
  • ControlTemplate 상에 TargetType 속성을 설정한 이유는 의존 프로퍼티나 이벤트 앞에 반복해서 클래스 이름을 붙이지 않기 위함이다.
  • Posted by gsi
    :