Я использую то же окно, которое служит двум целям. Внутри моего окна у меня есть вид списка, который я хочу привязать к РАЗЛИЧНЫМ объектам в зависимости от цели.
На самом деле это просто окно, которое принимает файлы импорта.
Итак, изначально у меня было это.
<ListView Grid.Row="1" Name="_lvValues"
DataContext="{Binding ElementName=_listbox,Path=SelectedItem}"
ItemsSource="{Binding Path=DataTable(from selectedItemObject)}">
Для другой цели я должен был сделать это
<ListView Grid.Row="1" Name="_lvValues"
DataContext="{Binding ElementName=ClassName,Path=Object}"
ItemsSource="{Binding Path=DataTable(from Object)}">
Я хочу сделать это в операторе if / else во время инициализации окна (конструктор). Итак ...
if (windowType == Type1)
// SetBinding to using listbox
else
// SetBinding to using Object
Я попробовал это после инициализации компонента
binding = new Binding("DataTable");
binding.Source = new Binding("ListBox.SelectedItem");
_lvValues.SetBinding(ListView.ItemsSourceProperty, binding);
Но, очевидно, это не сработало, и я понятия не имею, как поступить.
Причина, по которой я нуждаюсь в этом, заключается в том, что первый тип окна - это LIST файла, где второй тип окна имеет только ОДИН файл, поэтому было бы неправильно показывать список только с одним файлом.
Спасибо и С уважением,
Кев