当前位置:  开发笔记 > Android > 正文

与List <string>绑定的WPF文本块

如何解决《与List<string>绑定的WPF文本块》经验,为你挑选了1个好方法。

有没有人知道是否有一种简单的方法将文本块绑定到List.到目前为止我所做的是创建一个listview并将其绑定到List,然后我在listview中有一个使用单个文本块的模板.

我真正想要做的就是将List绑定到一个文本块并让它显示所有行.

在Winforms中有一个"Lines"属性,我可以将List放入,但我没有在WPF文本块或TextBox上看到它.

有任何想法吗?

我想念一些简单的东西吗?

这是代码



    
        
            
                
                    
                        
                            
                        
                    
                
            
        
    

和WorkItem类

public class WorkItem
{
    public string Name { get; set; }
    public string Description { get; set; }
    public string CurrentLog { get; private set; }
    public string CurrentStatus { get; private set; }
    public WorkItemStatus Status { get; set; }
    public ThreadSafeObservableCollection Logs{get;private set;}

我正在使用Prism来创建控件并将其放入WindowRegion中

        WorkItemLogView newView = container.Resolve();
        newView.DataContext = workItem;
        regionManager.Regions["ShellWindowRegion"].Add(newView);

谢谢



1> Jobi Joy..:

将List转换为单个字符串,其中"\ r \n"作为其间的分隔符.并将其绑定到TextBlock.确保TextBlock的高度不受限制,以便它可以根据行数增长.我将它实现为XAML绑定的值转换器,它将字符串列表转换为单个字符串,并在其间添加新行


ListToStringConverter看起来像这样:

[ValueConversion(typeof(List), typeof(string))]
public class ListToStringConverter : IValueConverter
{

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (targetType != typeof(string))
            throw new InvalidOperationException("The target must be a String");

        return String.Join(", ", ((List)value).ToArray());
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有