두 개의 매개 변수 (values
배열)를 사용하는 IMultiValueConverter
에서 상속받은 간단한 변환기가 있습니다.IMultiValueConverter의 매개 변수는 항상 동일합니까?
public class TicketNoConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var dataContext = values[0] as ViewModel;
var data = values[1] as String;
}
}
나는 나의 컨버터는 싱글 톤 알고 있지만 서로 다른 데이터를 포함 ViewModel
에도 불구하고 내 컨버터는 항상 같은 ViewModel
예 (첫 번째 매개 변수 바인딩)와 같은 Remarks
텍스트를 받았다.
이 XAML을 사용하면 Remarks
이 올바른 값으로 올바르게 표시됩니다. I가 결합 매개 변수로 전달하면 Remarks
<TextBlock
Grid.Column="1"
Style="{StaticResource EditorValueStyle}"
Text="{Binding ViewModel.Remarks}" />
그러나, 다음로드의 첫 번째 항목에서 전달 제 ViewModel
같은 파라미터 값을 사용한다. 여기
<ContentControl Grid.Column="1">
<ContentControl.Content>
<MultiBinding Converter="{StaticResource TicketNo}">
<Binding Path="" />
<Binding Path="ViewModel.Remarks" />
</MultiBinding>
</ContentControl.Content>
</ContentControl>
나는 내 변환기를 등록하는 데 사용하는 XAML입니다 : 이것은 XAML 어떻게 생겼는지입니다
<local:TicketNoConverter x:Key="TicketNo" />
이 문제에 파고가 약간 더 MultiBinding
에 전달 된이 매개 변수는 항상 2입니다 값이 부터ViewModel
으로 변경되었습니다.
ViewModel
의 현재 인스턴스가 사용되도록하려면 어떻게해야합니까?
바인딩에 대한 자세한 정보를 제공해야합니다. 더 잘 이해하는 데 도움이되는 xaml 코드를 게시하려고합니다. 코드가 예상대로 작동하고, 콘텐츠 제어를위한 데이터 컨텍스트가 무엇인지 변환기로 전송됩니다. – Bathineni