Я знаю, что это можно сделать, работая с ICommand, но поскольку это единственное место в моем проекте, где это необходимо, я спрашиваю себя, может быть, лучшее решение, чем реализация RelayCommand и ICommand и дополнительный метод в моем классе только для свойств?WPF: Как установить bool в true из DataTemplate для кнопки?
Может быть, мой сценарий может помочь здесь: У меня есть ListView, который связан со списком свойств (это специальный класс, который я сделал для их отображения). У меня есть кнопка в каждой строке записей, что я хочу установить для свойства IsToDelete значение true.
Если значение «IsToDelete» истинно, все элементы управления, которые я показываю в своем ListView, рушится.
Вся логика до этого момента в DataTemplates, один для моей кнопки выглядит следующим образом:
<DataTemplate x:Key="DeleteButtonTemplate">
<Button Name="bt_Delete"
Command="{Binding RelativeSource={RelativeSource AncestorType=ListView}, Path=ItemSource.DeleteClicked}">
<Image Height="16" Width="16" Source="Images\RecycleBin\VSO_RecycleBin_16x.png"/>
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsToDelete}" Value="True">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</DataTemplate>
Примечание команда в этом DataTemplate в настоящее время не работает, как задумано, поэтому я даже получил на вопрос;)
в оптимальном случае я бы просто сделать что-то вроде:
<Setter Property="{Binding IsToDelete}" Value="True"/>
Итак, есть ли способ, чтобы решить, как это или, по крайней мере, в менее сложный путь, чем ICommand с RelayCommand?
Вы хотите установить 'Видимость'' Button' 'Collapsed' после нажатия кнопки' Button'? – StepUp
Как назначить datacontext на страницу/кнопку, и где эта команда определена как свойство IsToDelete? –
@StepUp да, это именно то, что я хочу сделать, но поскольку это не единственный элемент управления для изменения, мне нужно установить логическое значение IsToDelete в true. – ExNought