Как быстрый и грязный способ сделать это, как насчет просто цикличного выполнения розовый шум wav в Вашем аудиоплеере? (Да, я знаю, что часть забавы должна сделать его самостоятельно....)
Для вашего конкретного примера вам понадобится IMultiValueConverter, который преобразует два целых числа в логическое значение, указывающее, включен ли пункт меню или нет. Примерно так:
Public Class MVCIntsToEnabled
Implements IMultiValueConverter
Public Function Convert(ByVal values() As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IMultiValueConverter.Convert
If values IsNot Nothing Then
If values.Count = 2 Then
Return (values(0) > 0) AndAlso (values(1) > 0)
Else
Return False
End If
Else
Throw New ArgumentNullException("values")
End If
End Function
Public Function ConvertBack(ByVal value As Object, ByVal targetTypes() As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object() Implements System.Windows.Data.IMultiValueConverter.ConvertBack
Throw New NotImplementedException()
End Function
End Class
Используется так:
<local:MVCIntsToEnabled x:Key="IntsToEnabledConverter" />
...
<MenuItem ItemsSource="{Binding MyMenuItem}">
<MenuItem.IsEnabled>
<MultiBinding Converter="{StaticResource IntsToEnabledConverter}">
<Binding ElementName="FirstInt" Path="Value" />
<Binding ElementName="SecondInt" Path="Value" />
</MultiBinding>
</MenuItem.IsEnabled>
</MenuItem>