R&D 프로젝트가 나에게로 왔다.

 

1차년도가 마무리 되는 시점에서 간단한 응용 프로그램이 나와줘야해서 WPF로 개발하기로 하였다.

 

WPF 학습 시간때문에 MVVM 패턴을 아직 익히지 못하였다........ㅜㅠ

 

암튼 Winform에서 Singleton 패턴을 자주 이용하던 나는 WPF에서도 Singleton 개체를 사용하였다.

 

Xaml에서 Singleton 개체에 접근 하는 방법을 찾다가 블로그에 포스팅한다.

 

 

 

먼저 Global 개체의 Namespace를 지정한다.

 

xmlns:gl="clr-namespace:ARCROM.GIFMaker.BusinessLogic;assembly=ARCROM.GIFMaker.BusinessLogic" 

 

 

 

그 다음 바인딩할 개체의 컨트롤에 아래와 같은 형식으로 바인딩을 한다.

GeometryInfo 개체의 River 속성의 set 접근지정자는 internal 이므로 TwoWay로 지정하면 XamlParseException이 발생한다.

 

<TextBox Text="{Binding Source={x:Static gl:Global.Singleton},Path=GeometryInfo.River,Mode=OneTime}"/> 

 

 

 

 

 

Global Class 구조

    public class Global

    {

        #region Singleton

        public static Global Singleton{get;private set;}

       

        static Global()

        { Singleton = new Global(); }

        private Global()

        { }

        #endregion

 

       

 

        /// <summary>

        /// 지형 파일 정보

        /// </summary>

        public Websolus.HECRAS.Data.GeometryInfo GeometryInfo { get; private set; }

              ........................ 

 

GeoSelection Class 구조

     public class GeometryInfo

    {

        /// <summary>

        /// 하천명

        /// </summary>

        public string River { get; internal set; }

        /// <summary>

        /// 유역명

        /// </summary>

        public string Reach { get; internal set; }

    }

 

 

+ Recent posts