Bind WPF TextBlock to text file

前端 未结 3 1654
执笔经年
执笔经年 2021-01-23 17:05

How can I bind a WPF TextBlock to a text file? I want for the TextBlock to display the content of the file.

相关标签:
3条回答
  • 2021-01-23 17:23

    You need to read the file into a string in memory and bind to that string instead.

    View model:

    class ViewModel
    {
        public string FileText { get; set; }
        public void ReadFile(string path)
        {
            FileText = File.ReadAllText(path);
        }
    }
    

    XAML:

    <TextBlock Text="{Binding FileText}"/>
    
    0 讨论(0)
  • 2021-01-23 17:29

    If you want the text to be formatted my inline markup you could look at the sub-class of TextBlock I made here. There is a convertor between a String of xaml markup and an InlineCollection(actually a generic list of Inlines) too.

    0 讨论(0)
  • 2021-01-23 17:40

    This post describes a custom markup extension that, once defined, lets you include the content of a file via XAML:

    <Window
        x:Class="WPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpf="clr-namespace:WPF">
        <TextBlock Text="{wpf:Text 'Assets/Data.txt'}" />
    </Window>
    
    0 讨论(0)
提交回复
热议问题