기본적으로 하나의 행에 하나의 바인딩 밖에 안되므로;;;;
ConverterParameter 에 바인딩값을 넘길수가 없습니다.
그래서 멀티바인딩으로 값을 두개 가지고 IMultiValueConverter 에서 처리합니다.
<UserControl.Resources>
        <Com_ControlLibrary_Convert:SchoolConvertMultiBinding x:Key="SchoolConvertMultiBinding"/>

        <DataTemplate x:Key="SchoolNameDataTemplate">
            <Grid>
                <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap"  >
                    <TextBlock.Text>
                     <MultiBinding Converter="{StaticResource SchoolConvertMultiBinding}">
                    <Binding Path="SchoolCode" /> 학교코드와 학교이름을 같이 넘긴다. 학교코드가 없으면 학교이름을 리턴
                    <Binding Path="SchoolName" />
                    </MultiBinding>
                  </TextBlock.Text>

                </TextBlock>
            </Grid>
        </DataTemplate>
    
    </UserControl.Resources>

SchoolConvertMultiBinding

class RemainingTimeConverter : IMultiValueConverter
    {
        #region IMultiValueConverter Members
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            //values[0] is SchoolCode
            //values[1] is SchoolName
            throw new NotImplementedException();
        }
        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {

                  string[] splitValues = ((string)value).Split(' ');
                  return splitValues;

        }
        #endregion
    }

+ Recent posts