Ответ 1
Я бы рекомендовал использовать IValueConverter
, чтобы принять ваше логическое значение и вернуть член перечисления видимости.
Вот хороший пример: http://jeffhandley.com/archive/2008/10/27/binding-converters---visibilityconverter.aspx
XAML будет выглядеть так:
Сначала вы определяете ресурс для конвертера (поместите его в словарь ресурсов):
<local:BooleanToVisibilityConverter x:Key="myBoolToVisibilityConverter" />
И затем измените свой шаблон следующим образом:
<ControlTemplate x:Key="ListViewControlTemplate1" TargetType="{x:Type ListView}">
<Grid Visibility="{Binding IsLoading, Converter={StaticResource myBoolToVisibilityConverter}}>
<local:ActivityIndicatorControl
HorizontalAlignment="Center"
Height="Auto"
Margin="0"
VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>