У меня есть DataTemplate
, которые положили в ResourceDictionary
, и есть кнопка в DataTemplate
, и я положил это DataTemplate
в окно. Теперь я хочу привязать Button Command к свойству windowViewModel
, как я могу это сделать? это код:Как связать кнопку в DataTemplate с ViewModel?
<DataTemplate DataType="{x:Type types:User}" x:Key="UserTemp">
<Grid >
<Button Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ????}, AncestorLevel=1}, Path=SelectLocationCommand}" />
</Grid>
</DataTemplate>
и Window.xaml
<ContentControl x:Name="UserTemp" />
и WindowViewModel:
public ICommand SelectLocationCommand
{
get {return new RelayCommand(selectLocationCommand); }
}
void selectLocationCommand()
{
_welcomeTitle = "AA";
}
спасибо Alex, но я не хочу, чтобы положить SelectLocationCommand в классе User !! на самом деле пользователь класс сущности! –
Есть решения, чтобы иметь команду в родительском ViewModel, если бы вы могли просто дать несколько подробностей о вашем дизайне, я мог бы помочь вам лучше. Когда вы говорите, что Пользователь на самом деле является классом Entity, вы имеете в виду, что это модель? – AlexDrenea
спасибо alex, у него действительно простое решение, вам просто нужно установить имя для окна и в bindTemplate dataTemplate. Указывает имя элемента в это имя. –