数据绑定到方法的输出

时间:2015-11-26 09:00:00

标签: c# wpf xaml data-binding

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

我正在尝试使用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";
        }
    }
}

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

1 个答案:

答案 0 :(得分:3)

而不是def save(self, *args, **kwargs): self.points_player1 = float(self.points_player1) super(YourModelName, self).save(*args, **kwargs) 创建这样的属性:

ObjectDataProvider

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

然后在XAML中删除public MainWindow() { InitializeComponent(); DataContext = this; } 并且只删除:

ObjectDataProvider
相关问题