绑定到方法输出的数据

本文关键字:数据 输出 方法 绑定 | 更新日期: 2023-09-27 18:24:44

我正试图在WPF TextBox中显示一个方法的输出。我只是尝试一个简单的尝试,在TextBox中打印一个字符串3

我尝试用以下方式,使用ObjectDataProvider:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication1"
        xmlns:system="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <ObjectDataProvider x:Key="dataprovider" ObjectType="{x:Type system:String}" MethodName="GetValue">
        </ObjectDataProvider>
    </Window.Resources>
    <Grid>
        <TextBox Text="{Binding Source={StaticResource dataprovider}, Mode=OneWay}" HorizontalAlignment="Left" Height="23" Margin="201,168,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="120"/>
    </Grid>
</Window>

下面是我的代码:

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        public string GetValue()
        {
            return "3";
        }
    }
}

我没有输出。CCD_ 5只是空白。我哪里错了?

绑定到方法输出的数据

不要创建ObjectDataProvider,而是创建这样的属性:

public string GetMethod
{
     get
     {
         return GetValue();
     }
}

和:

public MainWindow()
{
     InitializeComponent();
     DataContext = this;
}

然后在XAML中删除ObjectDataProvider并只删除:

<TextBox Text="{Binding GetMethod, Mode=OneWay}" HorizontalAlignment="Left" 
         Height="23" Margin="201,168,0,0" TextWrapping="Wrap" 
         VerticalAlignment="Top" Width="120"/>