我有一個類(不是ViewModel),它有一個屬性決定了按鈕的可見性。我已經包含在用戶控件的資源按鈕綁定到屬性的可見性沒有得到更新
<UserControl.Resources>
<helpers:DialogLayoutConfigInfo x:Key="DialogConfigInfo"/>
<BooleanToVisibilityConverter x:Key="BoolToVis" />
</UserControl.Resources>
類我有按鈕的知名度勢必會在「DialogLayoutConfigInfo」類的屬性。
private bool isButtonVisible;
public bool IsButtonVisible
{
get { return isButtonVisible; }
set { isButtonVisible= value; OnPropertyChanged("IsButtonVisible"); }
}
<Button Visibility="{Binding Source={StaticResource DialogConfigInfo},
Path=IsButtonVisible, Converter={StaticResource BoolToVis}}">
如果我更新「DialogLayoutConfigInfo」類的構造函數的性質「IsButtonVisible」,能見度更新。但是當調用構造函數時,我沒有XML文件(用於獲取信息來設置屬性)。所以我調用一個函數,稍後更新屬性。爲什麼如果我在函數中設置可見性不會更新?
設置屬性的函數從我的視圖的代碼後面調用。
是IsButtonVisible在輔助線程中設置?此外,根據您的發佈代碼,似乎'DialogLayoutConfigInfo'實現了'INotifyPropertyChanged'接口。但是,你能證實嗎? – user1672994
不是。它沒有在輔助線程中設置,並且是。它確實實現了'INotifyPropertyChanged'。 – nan
顯示您的'BooleanToVisibilityConverter' – WiiMaxx