0
我正在使用WPF與MahApps Metro controls。如何在不使用插入的情況下向類中注入代碼?
我已經爲我所有的Window類創建了一個基類,它實現了INotifyPropertyChanged接口。
public class WindowBase : MetroWindow,INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public event PropertyChangingEventHandler PropertyChanging;
protected virtual void RaisePropertyChanging(string propertyName)
{
PropertyChangingEventHandler handler = PropertyChanging;
if (handler != null) handler(this, new PropertyChangingEventArgs(propertyName));
}
/* code ommited */
}
而且我想用它在我的窗口類,像這樣:
public partial class MainWindow : WindowBase
我的XAML代碼中使用MahApps MetroWindow:
<controls:MetroWindow ...
這會導致以下錯誤:
Partial declarations of 'MainWindow' must not specify different base classes MainWindow.xaml.cs
所以爲了使用IN PC的實現,在我所有的類中,我需要找到一種方式將這些代碼注入窗口cals中,以其他方式直接插入。有任何想法嗎?
這是錯誤的。 'INotifyPropertyChanged'不屬於'DependencyObject's。 'DependencyObject'擁有自己的屬性更改通知機制('DependencyProperty')。改爲創建一個合適的ViewModel。 –
@Shabgard - 靜態類是密封的。你不能從它繼承。 –
@RohitVats這是一個錯字的先生。 – Shabgard