2010-02-25 3 views

답변

5

사용중인 데이터 액세스 프로세스를 나타내지는 않지만 일반 도구는 비트 필드를 부울 속성으로 표시합니다. 가장 쉬운 방법은 값 변환기를 사용하는 것입니다. 응용 프로그램에서 그와

public class BoolToStringConverter : IValueConverter 
{ 
    public String FalseString { get; set; } 
    public String TrueString { get; set; } 

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     if (value == null) 
      return FalseString; 
     else 
      return (bool)value ? TrueString : FalseString; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     return value.Equals(TrueString); 
    } 
} 

당신이 지금 Resources 특성 (일반적으로 App.xaml)

에 추가 할 수 있습니다 : - 여기

는 기본적인 아이디어 (좀 더 방어적인 코딩을해야 할 수도 있습니다)입니다
<Resources> 
    <local:BoolToStringConverter x:Key="CvtYesNo" FalseString="No" TrueString="Yes" /> 
</Resources> 

지금 당신은이처럼 콤보를 만들 것입니다 : -

<ComboBox SelectedItem="{Binding YourBitField, Converter={StaticResource CvtYesNo}, Mode=TwoWay}"> 
    <sys:String>Yes<sys:String> 
    <sys:String>No<sys:String> 
</ComboBox> 
+0

내가 Linq에와 실버 라이트 3를 사용하고 있습니다 2Sql. 의견을 보내 주셔서 감사합니다. 그걸 파헤 치자. – ScottG

+0

위의 코드가 작동하려면 네임 스페이스 ... xmlns : sys = "clr-namespace : System; assembly = mscorlib"가 포함됩니다. 또한 위의 코드를 복사하는 경우 마지막 ComboBox 태그의 철자가 잘못되었습니다. – DeveloperDan

+0

@DeveloperDan : local : 별칭은 어떻게됩니까? – AnthonyWJones

관련 문제