none
Binding된 값 수정 RRS feed

  • 질문

  • public bool IsValidate
    {
     get{};
     set{};
    }

    <TextBox Text="{Binding Path=IsValidate}" />

    결과가 True, False 나옵니다.

    속성값은 변경하지 않고 Display 값만 변경하고 싶습니다.

    클래스에에 속성를 하나 더 만들어서 사용해도 되지만 수정하기가 힘든 상황입니다.

    이러한 경우에 바인딩을 사용하지 않고 하기에도 애매합니다.

    혹시 다른 방법이 있으면 조언 부탁드립니다.

    2011년 9월 25일 일요일 오후 4:24

답변

  • 원하시는 바가, 원래는 True, False 로 나오는데 예를 들어, "진실", "거짓" 이라는 식으로 "Display 값"을 변경하고 싶다는 것인가요?

    바로 그런 경우라면, Converter 를 구현해서 붙여주시면 됩니다. 이에 대해서는 다음의 블로그에서 잘 설명되고 있으니 참조하시면 금방 구현하실 수 있을 것입니다. ^^

    XAML에서 Value Converter를 편하게 사용하기
    ; http://lovehana.com/flyingmt/567

    • 답변으로 표시됨 CazinoByung 2011년 9월 26일 월요일 오후 1:04
    2011년 9월 26일 월요일 오전 12:31
  • 안녕하십니까? CazinoByung

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “Binding된 값 수정에 대한 답변을 드리겠습니다.

               

    제 생각에는 한 가지 예상 해결 방안이 있습니다.

     

     Converter속성에 IValueConverter Interface를 구현한 Class를 사용하시기 바랍니다.

     

    XAML

     

    <TextBox Text="{Binding Path=IsValidate, Converter={StaticResource ConToString}}" />

     

     

    CS

     

    public class ConvertToString : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if ((bool)value)
            {
                return "this is enabled.";
            }
            else
            {
                return "this is disabled.";
            }
        }
     
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

     

     

     

    참고 자료

     

    IValueConverter Interface

    http://msdn.microsoft.com/ko-kr/library/system.windows.data.ivalueconverter.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 CazinoByung 2011년 9월 26일 월요일 오후 1:04
    2011년 9월 26일 월요일 오전 12:51
    중재자

모든 응답

  • 원하시는 바가, 원래는 True, False 로 나오는데 예를 들어, "진실", "거짓" 이라는 식으로 "Display 값"을 변경하고 싶다는 것인가요?

    바로 그런 경우라면, Converter 를 구현해서 붙여주시면 됩니다. 이에 대해서는 다음의 블로그에서 잘 설명되고 있으니 참조하시면 금방 구현하실 수 있을 것입니다. ^^

    XAML에서 Value Converter를 편하게 사용하기
    ; http://lovehana.com/flyingmt/567

    • 답변으로 표시됨 CazinoByung 2011년 9월 26일 월요일 오후 1:04
    2011년 9월 26일 월요일 오전 12:31
  • 안녕하십니까? CazinoByung

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “Binding된 값 수정에 대한 답변을 드리겠습니다.

               

    제 생각에는 한 가지 예상 해결 방안이 있습니다.

     

     Converter속성에 IValueConverter Interface를 구현한 Class를 사용하시기 바랍니다.

     

    XAML

     

    <TextBox Text="{Binding Path=IsValidate, Converter={StaticResource ConToString}}" />

     

     

    CS

     

    public class ConvertToString : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if ((bool)value)
            {
                return "this is enabled.";
            }
            else
            {
                return "this is disabled.";
            }
        }
     
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

     

     

     

    참고 자료

     

    IValueConverter Interface

    http://msdn.microsoft.com/ko-kr/library/system.windows.data.ivalueconverter.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 CazinoByung 2011년 9월 26일 월요일 오후 1:04
    2011년 9월 26일 월요일 오전 12:51
    중재자