#c# #wpf #gridview #data-binding #multibinding
#c# #wpf #просмотр сетки #привязка данных #многосвязные
Вопрос:
У меня есть следующая привязка в моем GridViewColumn
<GridViewColumn Header="Text" Width="40">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextAlignment="Center">
<Hyperlink NavigateUri="{Binding Path=Link}" RequestNavigate="Hyperlink_OnRequestNavigate">
<MultiBinding Converter="{StaticResource LinkDisplayConverter}">
<Binding Path="Property1"/>
<Binding Path="Property2"/>
</MultiBinding>
</Hyperlink>
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
Я получаю ошибку времени выполнения (System.Windows.Разметка.Исключение XamlParseException), в котором говорится, что многосвязи не поддерживаются встроенными коллекциями. Однако мне нужны свойства Property1 и Property2 в моем конвертере. Я нашел похожий вопрос, но не смог сопоставить его с моим вариантом использования.
Есть идеи?
Комментарии:
1. что у вас есть в вашем конвертере?
2. Я обновил свой вопрос. На самом деле я получаю ошибку времени выполнения (исключение). Мне неважно, что у меня есть в моем конвертере — у меня простой (см. Выше) и выдает ошибку.
3. Конвертер не имеет значения.
Ответ №1:
Гиперссылка может содержать только встроенные элементы, например, Run:
<Hyperlink NavigateUri="{Binding Link}" RequestNavigate="Hyperlink_OnRequestNavigate">
<Run>
<Run.Text>
<MultiBinding Converter="{StaticResource LinkDisplayConverter}">
<Binding Path="Property1"/>
<Binding Path="Property2"/>
</MultiBinding>
<Run.Text>
<Run>
</Hyperlink>