TheBigBearNow Ответов: 1

Изменение логического значения в listview WPF


Всем привет,
Я уже довольно давно работаю над выяснением этой проблемы. Я извлекаю пользовательский объект из базы данных и отображаю его в виде списка в WPF C#. Я могу читать данные, и у меня есть данные, разделенные на столбцы. У меня есть логическое значение(бит) в SQL, и в моем столбце оно отображает True/False. В моем listview я хочу, чтобы он отображал Yes/No вместо True/False.
Я попытался создать метод, но я не уверен, как вызвать этот метод в listview. Я попытался сделать отдельный шаблон для своего логического столбца, но все равно безуспешно. Я не уверен, что это тот способ, которым я должен пытаться это сделать, или нет, поэтому любой вклад / обратная связь будут очень признательны.
Спасибо.

      private void PopulateListBox(){
            lstUserList.Items.Clear();
            users = UsersDB.GetUsersList();
            foreach(User user in users){
                lstUserList.Items.Add(user);
            }
        }
        public static string MakeBooleanYesOrNo(this bool value){
            string boolvalue = "";
            if (value.ToString() == "True"){
                boolvalue = "Yes";
            }else{
                boolvalue = "No";
            }
            //return value.ToString();
            return boolvalue;        }


//This is how I display the data In my listview
<GridViewColumn Header="Admin" Width="50px" DisplayMemberBinding="{Binding IsAdmin}"/>


//I was also thinking maybe something like this if I can do this in C# not ASP.net
<ItemTemplate><%# (Boolean.Parse(Eval("Active").ToString())) ? "Yes" : "No" %></ItemTemplate>


Что я уже пробовал:

Я пытался сделать свой собственный метод и различные шаблоны, но я не уверен, как вызвать мой метод в шаблоне, или если это то, как я должен идти с этим

1 Ответов

Рейтинг:
2

VincentSchaw

реализовать ivalueconverter такой

public class BoolToVisibilityConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var boo = value != null && (bool)value;
            return boo ? Visibility.Visible : Visibility.Collapsed;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return DependencyProperty.UnsetValue;
        }
    }


Создайте экземпляр и используйте его при привязке данных в файле xaml.