3 回答

TA貢獻1877條經驗 獲得超6個贊
<Window.Resources> <local:VersionManager x:Key="versionManager"/></Window.Resources>... <TextBox Text="{Binding Source={StaticResource versionManager}, Path=FilterString}"/>

TA貢獻1848條經驗 獲得超6個贊
DependencyObject
INotifyPropertyChanged
x:Static
Text
app
<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傳遞給事件處理程序。實現靜態屬性的類可以選擇使用任一方法引發屬性更改通知。
添加回答
舉報