Это моя 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 функцию вместо свойства?
No, 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();
}
}
Для чего я привязываюсь, не имеет семантики свойств. Это может потенциально потерпеть неудачу или занять много времени для чтения. Повторные чтения не обязательно дают одинаковый результат. –
Тогда, возможно, вам нужно расширить этот поставщик данных или поместить вокруг него обертку для обработки ошибок, результатов кэширования, запускать их в отдельном потоке и т. Д. – benPearce