Вы, кажется, ответили на свой вопрос. Да, вы можете просто привязать Visibility (или Busy / IsBusy в элементе управления BusyIndicator к некоторому атрибуту другого элемента управления).
Если конкретное свойство, с которым вы хотите связать, не является привязываемым свойством, просто свяжите его с другим элементом управления и настройте конвертер, чтобы получить желаемое свойство элемента. Если у вас есть конкретные примеры кода, просто опубликуйте их, а я могу опубликовать более конкретное решение.
Обычная проблема заключается в том, что типы (для наглядности) несовместимы с логическими значениями, поэтому вам необходимо указать конвертер в привязке. Google для Silverlight VisibilityConvertor (их десять центов). Вот мой:
namespace Common.ValueConverters
{
using System;
using System.Windows;
using System.Windows.Data;
public class VisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is bool?)
{
if (string.IsNullOrEmpty((string)parameter))
{
return (value as bool?).Value ? Visibility.Visible : Visibility.Collapsed;
}
else
{
return (value as bool?).Value ? Visibility.Collapsed : Visibility.Visible;
}
}
throw new ArgumentException();
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
Использование конвертера будет выглядеть так:
<Grid Visibility="{Binding ShowDualView, Converter={StaticResource VisibilityConverter}}">
Но, откровенно говоря, вам лучше использовать элемент управления BusyIndicator, связанный со свойством IsBusy:
<Controls:BusyIndicator IsBusy="{Binding IsBusy}">
Просто поместите его вокруг элементов управления, которые вы хотите скрыть на занятом дисплее.