Есть viewmodel.
public class VM_searchResult : DependencyObject, INotifyPropertyChanged
{
private CCard createdCard;
private Commands selectSpravInfo;
public Commands SelectSpravInfo
{
get
{
return selectSpravInfo ?? (selectSpravInfo = new Commands(obj =>
{
W_selectSprav wSelectSprav = new W_selectSprav(obj as CCard);
wSelectSprav.ShowDialog();
}));
}
}
public CCard CreatedCard
{
get { return createdCard; }
set
{
createdCard = value;
OnPropertyChanged("CreatedCard");
}
}
}
View
<StackPanel Orientation="Horizontal" DataContext="{Binding CreatedCard}">
<TextBlock Text="Номер регистрации:" Margin="10,7,0,0" TextWrapping="Wrap" VerticalAlignment="Top"/>
<TextBox x:Name="TB_regnum" Text="{Binding Regnum}" Margin="10,7,0,0" VerticalAlignment="Top" MinWidth="90"/>
<TextBlock Text="База данных:" Margin="10,7,0,0" TextWrapping="Wrap" VerticalAlignment="Top"/>
<Button x:Name="B_selectDB_card" Command="{Binding SelectSpravInfo}" CommandParameter="{Binding CreatedCard}" Content="..." Margin="10,7,0,0" VerticalAlignment="Top" Width="20"/>
<TextBox x:Name="TB_db_card" Text="{Binding Bdncpi._name}" Margin="10,7,15,0" TextWrapping="Wrap" VerticalAlignment="Top" IsEnabled="False" MinWidth="200"/>
</StackPanel>
В такой ситуации, команда SelectSpravInfo
ищется в контексте CreatedCard
, которой там, собственно нет. Отсюда вопрос, как выйти из этой ситуации? Не гоже как-то прописывать контекст каждому текстбоксу.
Решение. Дал имя вьюшке x:Name="root"
и потом использовал его как
DataContext="{Binding ElementName=root}" Command="{Binding Path=DataContext.SelectSpravInfo}"
Даем имя элементу у которого DataContext VM_searchResult
(там где лежит команда к которой нужно привязаться). Дальше биндим нужное свойство через ElementName
<UserControl x:Name="root"> <!--DataContext устанавливается например сверху -->
<StackPanel DataContext="{Binding CreatedCard}">
<Button Command="{Binding ElementName=root, Path=DataContext.SelectSpravInfo}" CommandParameter="{Binding CreatedCard}"/>
</StackPanel>
</UserControl>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Пытаюсь создать редактирование моделиВыскакивает ошибка:
Собственно вопрос заданЧасто на сайтах некоторые куки задаются не через Response, динамически при отработке javaScript
Как менее нагружённо сделать вывод категорий, на сайте имеется более 100 категорийСделать таблицу в MySQL с названием категорий и ид или записать...