У меня есть этот код XAML:
<Window
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<StackPanel>
<StackPanel>
<TextBox x:Name="Name" Text="{Binding propertyName, UpdateSourceTrigger=PropertyChanged}"/>
<Button Content="Save" Click="Add_Click" IsDefault="True" />
<Button Content="Cancel" IsCancel="True" />
</StackPanel>
</StackPanel>
</Window>
Я хочу привязать текстовое поле Name
к propertyName
, только когда нажата моя кнопка Save
. propertyName
объявлено в моем MainWindow.xaml.cs
так:
public string propertyName { get; set; }
В настоящее время код работает, но кнопки бесполезны, независимо от того, какая кнопка (Сохранить или Отмена) нажата, свойство уже обновлено. Я не использую MVVM, у кого-нибудь есть идеи по этому поводу? Я ищу решение XAML, если это возможно.
Основной вопрос:
Есть ли способ сделать это только в XAML, если есть, то как? И если нет никакого способа, зачем мне вообще использовать Binding в этом случае, когда я могу просто установить свойство в моем событии click? Поскольку у меня есть только одно свойство, я мог бы просто использовать propertyName = Name.Text;
в событии нажатия кнопки