我很難理解如何在C#和xaml代碼之間使用依賴項屬性。 這是我的問題的SMaL公司代碼示例使用依賴項屬性設置標籤內容
XAML代碼:
<Window x:Class="WpfChangeTextApplication.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">
<StackPanel>
<Label Name="statusTextLabel" Content="{Binding StatusText}"></Label>
<Button Name="changeStatusTextButton" Click="changeStatusTextButton_Click">Change Text</Button>
</StackPanel>
C#代碼:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public string StatusText
{
get { return (string)GetValue(StatusTextProperty); }
set { SetValue(StatusTextProperty, value); }
}
// Using a DependencyProperty as the backing store for StatusText. This enables animation, styling, binding, etc...
public static readonly DependencyProperty StatusTextProperty =
DependencyProperty.Register("StatusText", typeof(string), typeof(MainWindow));
private void changeStatusTextButton_Click(object sender, RoutedEventArgs e)
{
StatusText = "Button clicked";
}
}
所以,我的問題是,標籤statusTextLabel劑量沒有更新當我點擊按鈕時。我的麻煩是,我不知道我在做什麼錯誤的代碼的哪一部分,是在xaml還是在C#中?在xaml中,我可能在綁定中做錯了什麼?還是我錯過了在C#代碼中做的事情?