我有這樣的事情:高級multibinding
<Controls:ToggleRectangleButton.Visibility>
<MultiBinding Converter="{StaticResource MultiButtonCheckedToVisibilityConverter}">
<Binding ElementName="btDayAndNightsLinesTickets" Path="IsButtonChecked" />
<Binding ElementName="btSchoolSemester" Path="IsButtonChecked" />
</MultiBinding>
</Controls:ToggleRectangleButton.Visibility>
MultiButtonCheckedToButtonEnabledConverter的轉換方法
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool visible = false;
foreach (object value in values)
{
if (value is bool)
{
if ((bool)value == true) visible = true;
}
}
if (visible)
{
return System.Windows.Visibility.Visible;
}
else
{
return System.Windows.Visibility.Hidden;
}
}
所以它意味着作爲參數傳遞的按鈕,如果至少一個已IsButtonChecked屬性設置爲true - >展控制。否則就隱藏它。
我想添加一些功能,即條件:
如果(otherButton.IsChecked)返回System.Windows.Visibility.Hidden;
因此,如果otherButton被選中,隱藏控制(獨立於其他條件)。我希望能夠設置比1更多的「otherButtons」(如果至少有一個「otherButtons」被選中 - > Hide)。
你不應該提供按鈕作爲綁定的值,因爲這種綁定永遠不會聽按鈕的屬性。 – 2015-01-21 09:48:06