我是新來的XAML,我試圖綁定我的窗口(西洋雙陸棋板)的分數屬性到控件。XAML:數據綁定到窗口不工作後InitializeComponent()
我能得到它的工作是通過後面的代碼如下:
public partial class BgBoard : Window
{
public BgBoard()
{
InitializeComponent();
DataContext = this;
_Score = 999;
}
private int _Score;
public string Score { get { return _Score.ToString(); } }
}
XAML
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:bgb="clr-namespace:BackgammonBoard"
xmlns:Properties="clr-namespace:BackgammonBoard.Properties" x:Class="BackgammonBoard.BgBoard"
Title="Backgammon board" Width="750" Height="500" MinWidth="375" MinHeight="250">
<TextBlock x:Name="Player_Score" Text="{Binding Score}"/>
</Window>
接下來,我想宣佈在XAML DataContext的,而不是後面的代碼。我刪除「的DataContext =這種」從後面的代碼和XAML中添加以下屬性我的窗前:
DataContext="{Binding RelativeSource={RelativeSource Self}}"
目前比分是不再顯示我的用戶界面上。
但是,如果我調用InitilalizeComponent()之前落後初始化代碼中的得分,比分再次顯示:
public BgBoard()
{
_Score = 999;
InitializeComponent();
}
所以我的問題是,我應該在XAML做,以確保分數是正確的它是在代碼修改的背後(每次顯示的不是隻有當它之前進行初始化的InitializeComponent()?
歡迎來到StackOverflow。爲了讓您充分利用本網站,我建議您花一些時間閱讀StackOverflow [幫助中心](http://stackoverflow.com/help)的各個頁面。特別是,現在你的第一個問題已經得到解答,我想提請你注意[我應該怎麼做當有人回答我的問題?](http://stackoverflow.com/help/someone-answers)頁面從幫助中心。按照這些頁面中的建議重要,所以如果您知道如何正確使用本網站,則可以更好地使用它。 – Sheridan