這裏是我的XAML:WPF的IsEnabled按鈕綁定,只能使用一次....已經擁有的PropertyChange通知
<Button
x:Name="StartBtn"
Content="Start"
Command="{Binding StartProcess}"
HorizontalAlignment="Left"
Height="23"
Margin="241,181,0,0"
VerticalAlignment="Top"
Width="57"
Grid.Column="1"
IsEnabled="{Binding IsStartButtonEnabled}"/>
這裏是我的財產:
private bool _isStartButtonEnabled;
public bool IsStartButtonEnabled
{
get { return _isStartButtonEnabled; }
set
{
_isStartButtonEnabled = value;
OnPropertyChanged("IsStartButtonEnabled");
}
}
它的工作原理與任何我設置在啓動時,但是當我稍後在代碼中操作bool時,更改不會反映在WPF中。我確實正確設置了數據上下文,因爲其他綁定都完美地起作用。
另外,當我在代碼中操作布爾時,我使用的是屬性而不是私有字段。
private void OnStartProcess()
{
IsStartButtonEnabled = false;
//stuff
}
我假設你正在改變屬性值不是私有字段值? – adminSoftDK
正確。多數民衆贊成在我所有的綁定,他們都工作正常(除了這一個) –
我只是運行它,它工作正常。你怎麼知道綁定是正確的?有幾件事你可以檢查一個是輸出窗口來查找錯誤40,另一個是在屬性的getter上設置一個斷點,以查看xaml是否實際讀取它。 – adminSoftDK