Как преобразовать строковое свойство в bool? - PullRequest
0 голосов
/ 21 сентября 2018

Я разрабатываю инструмент в wpf.В инструменте у меня есть текстовое поле, в которое я ввожу значения.В коде для этого у меня есть свойство строки.Иногда мне нужно ввести значение bool.Как строковое свойство может возвращать значение bool, если в текстовом поле введено значение true или false.Вот свойство:

public string EnvironmentValue
{
    get { return enviromentValue; }
    set
    {
        enviromentValue = value;
        OnPropertyChanged();
        AddEnviromentCommand.RaiseCanExecuteChanged();
    }
}

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Строковое свойство может возвращать только строку, но вы можете вернуть строку, которая может быть проанализирована логическим значением, например, «истина» или «ложь».Чтобы получить значение bool из них, вы можете использовать bool.Parse или bool.TryParse, например:

bool value = bool.Parse(EnvironmentValue);

И вы можете установить строковое свойство с помощьюbool вроде:

EnvironmentValue = true.ToString();

Но лучшей идеей может быть использование элемента управления, созданного для логических значений, например CheckBox или `RadioButton, когда вы просто делаете что-то вроде:

DogLover = chkLikesDogs.Checked;
0 голосов
/ 21 сентября 2018

Ну, если вы получили истину и ложь, вы можете использовать

bool s = Convert.ToBoolean("true");
...