我刚刚开始使用WPF,我正在尝试理解绑定。
我有一个名为GetVersion()的方法返回值1.2.3.2我需要将此返回数据绑定到TextBlock,以便将1.2.3.2返回到主窗口。
我的MainWindow.xaml.cs看起来像这样:
public MainWindow()
{
InitializeComponent();
GetSequoiaVersion getApiVersion = new GetSequoiaVersion();
_value = getApiVersion.GetApiVersion();
myTextBlock.DataContext = Value;
}
private string _value;
public string Value
{
get
{
return _value;
}
set
{
_value = value;
}
....................
如果我调试程序,DataContext = Value确实显示值1.2.3.2
我当前的XAML代码如下所示
<Grid>
<StackPanel Name="Display">
<StackPanel Orientation="Horizontal">
<TextBlock Text="API Version: " />
<TextBlock x:Name="myTextBlock" Margin="200,0,0,0" Text="{Binding Value}" />
</StackPanel>
</StackPanel>
</Grid>
再次将返回数据传递给DataContext值(鼠标悬停显示1.2.3.2正如预期的那样但这是它倒下,表单加载但是我的文本块中没有数据显示绑定到DataContext
请帮助
答案 0 :(得分:1)
您的MainWindow.xaml.cs应如下所示
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = ApiVersion.GetApiVerision();
}
}
public class ApiVersion
{
public string Version { get; set; }
public static ApiVersion GetApiVerision()
{
var version = new ApiVersion() {Version = "1.2.3.2"};
return version;
}
}
你的MainWindow.xaml看起来应该是这样的
<Window x:Class="TestWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock Name="myTextBlock"
Text="{Binding Version}" />
</Grid>