1
這是我的XAML:WPF/XAML:有沒有辦法在功能上使用x:static?
ItemsSource="{x:Static app:HealthCheckSystemCategoryLookup.All}
有沒有一種方法,使HealthCheckSystemCategoryLookup.All的功能,而不是財產?
這是我的XAML:WPF/XAML:有沒有辦法在功能上使用x:static?
ItemsSource="{x:Static app:HealthCheckSystemCategoryLookup.All}
有沒有一種方法,使HealthCheckSystemCategoryLookup.All的功能,而不是財產?
不,x:Static
只能處理枚舉成員,屬性和字段。如果要綁定到方法調用的結果,則可以使用ObjectDataProvider
。你會這樣做:
<Window.Resources>
<ObjectDataProvider
x:Key="Data"
ObjectType="app:HealthCheckSystemCategoryLookup"
MethodName="All"/>
</Window.Resources>
<ListBox ItemsSource="{Binding Source={StaticResource Data}}" />
爲什麼不只是綁定到一個屬性,該屬性在其Getter中調用該方法。
public IEnumberable<object> Data
{
get
{
return All();
}
}
我綁定到什麼沒有屬性語義。它可能會失敗或需要很長時間才能閱讀。重複閱讀不一定會得到相同的結果。 – 2010-07-27 22:07:08
然後,也許你需要擴展這個數據提供者,或者把它放在一個包裝中來處理錯誤,緩存結果,在一個單獨的線程中運行它。 – benPearce 2010-07-27 22:36:55