我正在努力與一些數據綁定。在我的MainWindow中,我有2個按鈕,這些按鈕是數據綁定到屬性Result
的「屬性」類 - 嚴格用於保存將用於數據綁定的屬性。這些按鈕默認是隱藏的,當我希望它們變得可見時,我簡單地將它們綁定到的屬性設置爲「真」更新屬性後WPF PropertyChanged事件爲空
我知道數據綁定正在工作,因爲如果我將該屬性設置爲靜態值,這些按鈕是可見/不可見的。請參閱下面我的XAML
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<StackPanel.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVis" />
</StackPanel.Resources>
<Button x:Name="btnBack" Height="25" Content="<- Back" Visibility="{Binding Path=Result, Converter={StaticResource BoolToVis},
UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Width="75" Click="btnBack_Click" Margin="0,0,10,0" />
<Button x:Name="btnNext" Height="25" Content="Next ->" Visibility="{Binding Path=Result, Converter={StaticResource BoolToVis},
UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Width="75" Click="btnNext_Click" Margin="10,0,0,0"/>
</StackPanel>
所以,他們必然要「結果」屬性,我在結合有UpdateSourceTrigger=Propertychanged
。
在我的「屬性」類我有下面和我實現INotifyPropertyChanged
bool _result;
#endregion
public bool Result {
get
{
return _result;
}
set
{
_result = value;
NotifyPropertyChanged("Result");
}
}
#region EVENTS
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string propName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
}
但由於某些原因,當我更改屬性爲「True」 PropertyChanged事件爲空,因此該事件永遠不會觸發。
任何想法爲什麼發生這種情況?難道是因爲這段代碼不在我的ViewModel中,只是在一個單獨的類中?
這應該是您的視圖模型和視圖模型應該被分配到你的'DataContext'。 – jsanalytics
謝謝j現在就試一試。我會更新與resutls – ganjeii
這工程!謝謝! – ganjeii