3 回答
TA貢獻1877條經驗 獲得超6個贊
<Window.Resources>
<local:VersionManager x:Key="versionManager"/></Window.Resources>...
<TextBox Text="{Binding Source={StaticResource versionManager}, Path=FilterString}"/>TA貢獻1848條經驗 獲得超6個贊
DependencyObjectINotifyPropertyChanged
x:StaticTextapp
<TextBox Text="{x:Static app:VersionManager.FilterString}" />public class VersionManager : DependencyObject {
public static readonly DependencyProperty FilterStringProperty =
DependencyProperty.Register( "FilterString", typeof( string ),
typeof( VersionManager ), new UIPropertyMetadata( "no version!" ) );
public string FilterString {
get { return (string) GetValue( FilterStringProperty ); }
set { SetValue( FilterStringProperty, value ); }
}
public static VersionManager Instance { get; private set; }
static VersionManager() {
Instance = new VersionManager();
}}<TextBox Text="{Binding Source={x:Static local:VersionManager.Instance},
Path=FilterString}"/>TA貢獻1785條經驗 獲得超4個贊
可以使用靜態屬性作為數據綁定的源。如果引發靜態事件,數據綁定引擎將識別屬性值何時更改。例如,如果類SomeClass定義了一個名為MyProperty的靜態屬性,SomeClass可以定義一個在MyProperty值更改時引發的靜態事件。靜態事件可以使用以下任一簽名:
public static event EventHandler MyPropertyChanged; public static event EventHandler<PropertyChangedEventArgs> StaticPropertyChanged;
注意,在第一個例子中,類公開了一個名為PropertyNameChanged的靜態事件,該事件將EventArgs傳遞給事件處理程序。在第二個例子中,類公開一個名為StaticPropertyChanged的靜態事件,該事件將PropertyChangedEventArgs傳遞給事件處理程序。實現靜態屬性的類可以選擇使用任一方法引發屬性更改通知。
添加回答
舉報
