2014-09-02 120 views
1

我剛開始使用WPF,我試圖理解綁定。WPF綁定到字符串值到TextBlock

我有一個名爲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 =值不顯示的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

捷克這一點:http://stackoverflow.com/questions/19248073/w PF-正文塊結合功能於XAML?RQ = 1 – theMarceloR 2014-09-02 14:23:59

回答

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> 

相關問題