2
是我的代碼,窗口高度雙向綁定問題下面
public partial class MainWindow : Window, INotifyPropertyChanged
{
private int myHeight = 0;
public int MyHeight
{
get { return myHeight; }
set
{
myHeight = value;
OnPropertyChanged("MyHeight");
MessageBox.Show("MainWindowHeight" + MyHeight);
}
}
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
}
private void OnPropertyChanged(string prop)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
<Window x:Class="Window_Sample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="{Binding MyHeight, Mode=TwoWay}" Width="525">
<Grid>
</Grid>
</Window>
當我改變從最小到最大的setter我的WindowState被調用兩次,第一次有正確的實際值,並在第二叫它有價值38,有沒有這種行爲的任何解釋?還有它爲什麼會被叫兩次?
感謝, 庫馬爾