绑定到方法输出的数据
本文关键字:数据 输出 方法 绑定 | 更新日期: 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"/>