#c# #wpf
Вопрос:
у меня есть меню, в которое я включил свойство ischecked. при нажатии на пункт меню он должен продолжать сохранять файлы, а когда пункт меню не нажат, он должен перезаписать предыдущий сохраненный файл. щелчок по части работает, но когда он не нажат, он не перезаписывается. Значение menuitem остается неизменным все время.
.xaml
<MenuItem Header="Save" IsChecked="{Binding Saving ,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" >
.cs
private bool saving =true;
public bool Saving
{
get
{
return saving;
}
set
{
saving = value;
RaisePropertyChanged("Saving");
}
}
Configuration.isPrevSave = Saving;
if (Configuration.isPrevSave == false amp;amp; Configuration.PreviousFilePath != null amp;amp; Directory.Exists(Configuration.PreviousFilePath))
DirectoryInfo.DeleteContents(Configuration.PreviousFilePath);
else //works
Ответ №1:
Предполагая, что текст данных верен, вы пропускаете только IsCheckable=»True»
<MenuItem Header="Save" IsCheckable="True" IsChecked="{Binding Saving ,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
Комментарии:
1. Тогда текст данных неверен. Добавьте точку останова в предложение set, чтобы проверить, попадет ли она. Поскольку вы не предоставили полную структуру своего кода, я не могу помочь с этим, кроме как сказать, что если вы правильно объявили это свойство в правильном тексте данных для привязки, то оно будет работать. Или я действительно не понимаю вашего вопроса.